summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDoug McLain <doug@nostar.net>2008-05-22 22:42:27 +0000
committerDoug McLain <doug@nostar.net>2008-05-22 22:42:27 +0000
commitc271a302734e8a171288d00515c4b1bb30e7e857 (patch)
tree192679d8256c888fac85064c6c0b4d9c61484866
parent5439c0c46c6c0c748366d17cbe4255ef446e9c26 (diff)
Remove sigc 2.0.18
git-svn-id: svn://localhost/ardour2/branches/2.0-ongoing@3399 d708f5d6-7413-0410-9779-e7cbd77b26cf
-rw-r--r--gtk2_ardour/audio_region_view.cc3
-rw-r--r--gtk2_ardour/audio_streamview.cc37
-rw-r--r--gtk2_ardour/audio_streamview.h2
-rw-r--r--gtk2_ardour/region_view.cc6
-rw-r--r--gtk2_ardour/time_axis_view_item.cc8
-rw-r--r--gtk2_ardour/time_axis_view_item.h4
-rw-r--r--libs/ardour/region.cc1
-rw-r--r--libs/glibmm2/glibmm/propertyproxy_base.cc1
-rw-r--r--libs/gtkmm2/gtk/gtkmm/scale.cc1
-rw-r--r--libs/gtkmm2/gtk/gtkmm/targetentry.cc2
-rw-r--r--libs/sigc++2/.cvsignore19
-rw-r--r--libs/sigc++2/AUTHORS8
-rw-r--r--libs/sigc++2/COPYING515
-rw-r--r--libs/sigc++2/ChangeLog1249
-rw-r--r--libs/sigc++2/INSTALL229
-rw-r--r--libs/sigc++2/Makefile.am30
-rw-r--r--libs/sigc++2/NEWS232
-rw-r--r--libs/sigc++2/README72
-rw-r--r--libs/sigc++2/SConscript41
-rw-r--r--libs/sigc++2/TODO66
-rwxr-xr-xlibs/sigc++2/autogen.sh39
-rw-r--r--libs/sigc++2/configure.ac64
-rw-r--r--libs/sigc++2/libsigc++-2.0.spec.in91
-rw-r--r--libs/sigc++2/scripts/cxx.m494
-rw-r--r--libs/sigc++2/scripts/libtool.m45767
-rw-r--r--libs/sigc++2/scripts/ltoptions.m4358
-rw-r--r--libs/sigc++2/scripts/ltsugar.m4115
-rw-r--r--libs/sigc++2/scripts/ltversion.m415
-rw-r--r--libs/sigc++2/sigc++-2.0.pc.in10
-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
-rw-r--r--libs/sigc++2/sigc++config.h.in10
82 files changed, 58 insertions, 34484 deletions
diff --git a/gtk2_ardour/audio_region_view.cc b/gtk2_ardour/audio_region_view.cc
index f622f16c8a..8ce3ab4fd5 100644
--- a/gtk2_ardour/audio_region_view.cc
+++ b/gtk2_ardour/audio_region_view.cc
@@ -266,6 +266,7 @@ void
AudioRegionView::region_changed (Change what_changed)
{
ENSURE_GUI_THREAD (bind (mem_fun(*this, &AudioRegionView::region_changed), what_changed));
+ //cerr << "AudioRegionView::region_changed() called" << endl;
RegionView::region_changed(what_changed);
@@ -1238,7 +1239,7 @@ AudioRegionView::set_frame_color ()
if (_recregion) {
UINT_TO_RGBA(ARDOUR_UI::config()->canvasvar_RecordingRect.get(), &r, &g, &b, &a);
frame->property_fill_color_rgba() = RGBA_TO_UINT(r, g, b, a);
- cerr << "Was a recregion" << endl;
+ cerr << "AudioRegionView::set_frame_color () Was a recregion" << endl;
for (vector<ArdourCanvas::WaveView*>::iterator w = waves.begin(); w != waves.end(); ++w) {
if (_region->muted()) {
diff --git a/gtk2_ardour/audio_streamview.cc b/gtk2_ardour/audio_streamview.cc
index 344b8f4734..9666f7a33f 100644
--- a/gtk2_ardour/audio_streamview.cc
+++ b/gtk2_ardour/audio_streamview.cc
@@ -57,6 +57,7 @@ AudioStreamView::AudioStreamView (AudioTimeAxisView& tv)
: StreamView (tv)
{
crossfades_visible = true;
+ outline_region = false;
_waveform_scale = LinearWaveform;
_waveform_shape = Traditional;
@@ -469,7 +470,7 @@ AudioStreamView::set_waveform_scale (WaveformScale scale)
void
AudioStreamView::setup_rec_box ()
{
- // cerr << _trackview.name() << " streamview SRB\n";
+ cerr << _trackview.name() << " streamview SRB region_views.size() = " << region_views.size() << endl;
if (_trackview.session().transport_rolling()) {
@@ -478,7 +479,7 @@ AudioStreamView::setup_rec_box ()
if (!rec_active &&
_trackview.session().record_status() == Session::Recording &&
_trackview.get_diskstream()->record_enabled()) {
-
+ cerr << "rec_active = 0" << endl;
if (_trackview.audio_track()->mode() == Normal && use_rec_regions && rec_regions.size() == rec_rects.size()) {
/* add a new region, but don't bother if they set use_rec_regions mid-record */
@@ -565,11 +566,11 @@ AudioStreamView::setup_rec_box ()
} else if (rec_active &&
(_trackview.session().record_status() != Session::Recording ||
!_trackview.get_diskstream()->record_enabled())) {
-
+ cerr << "rec_active = 1" << endl;
screen_update_connection.disconnect();
rec_active = false;
rec_updating = false;
-
+ outline_region = true;
}
} else {
@@ -656,7 +657,7 @@ void
AudioStreamView::update_rec_regions ()
{
if (use_rec_regions) {
-
+ cerr << "AudioStreamView::update_rec_regions () outline_region = " << outline_region << endl;
uint32_t n = 0;
for (list<boost::shared_ptr<Region> >::iterator iter = rec_regions.begin(); iter != rec_regions.end(); n++) {
@@ -687,6 +688,15 @@ AudioStreamView::update_rec_regions ()
if (nlen != region->length()) {
+ if (outline_region) {
+ for (list<RegionView *>::iterator i = region_views.begin(); i != region_views.end(); ++i) {
+ if ((*i)->region() == region) {
+ (*i)->outline_entire_box();
+ outline_region = false;
+ }
+ }
+ }
+
region->freeze ();
region->set_position (_trackview.get_diskstream()->get_capture_start_frame(n), this);
region->set_length (nlen, this);
@@ -695,6 +705,14 @@ AudioStreamView::update_rec_regions ()
if (origlen == 1) {
/* our special initial length */
add_region_view_internal (region, false, true);
+ if (outline_region) {
+ outline_region = false;
+ for (list<RegionView *>::iterator i = region_views.begin(); i != region_views.end(); ++i) {
+ if ((*i)->region() == region) {
+ (*i)->outline_entire_box();
+ }
+ }
+ }
}
/* also update rect */
@@ -712,6 +730,15 @@ AudioStreamView::update_rec_regions ()
if (region->source(0)->length() >= region->start() + nlen) {
+ if (outline_region) {
+ for (list<RegionView *>::iterator i = region_views.begin(); i != region_views.end(); ++i) {
+ if ((*i)->region() == region) {
+ (*i)->outline_entire_box();
+ outline_region = false;
+ }
+ }
+ }
+
region->freeze ();
region->set_position (_trackview.get_diskstream()->get_capture_start_frame(n), this);
region->set_length (nlen, this);
diff --git a/gtk2_ardour/audio_streamview.h b/gtk2_ardour/audio_streamview.h
index e19ca35eaf..db4a3a5869 100644
--- a/gtk2_ardour/audio_streamview.h
+++ b/gtk2_ardour/audio_streamview.h
@@ -109,6 +109,8 @@ class AudioStreamView : public StreamView
nframes_t last_rec_peak_frame;
map<boost::shared_ptr<ARDOUR::Source>, bool> rec_peak_ready_map;
+ bool outline_region;
+
Editing::WaveformShape _waveform_shape;
Editing::WaveformScale _waveform_scale;
};
diff --git a/gtk2_ardour/region_view.cc b/gtk2_ardour/region_view.cc
index a88f821693..11105a8d9d 100644
--- a/gtk2_ardour/region_view.cc
+++ b/gtk2_ardour/region_view.cc
@@ -204,6 +204,7 @@ void
RegionView::region_changed (Change what_changed)
{
ENSURE_GUI_THREAD (bind (mem_fun(*this, &RegionView::region_changed), what_changed));
+ cerr << "RegionView::region_changed () outline_everything = " << outline_everything << endl;
if (what_changed & BoundsChanged) {
region_resized (what_changed);
@@ -227,6 +228,11 @@ RegionView::region_changed (Change what_changed)
if (what_changed & Region::LockChanged) {
region_locked ();
}
+ if ((what_changed & LengthChanged) && outline_everything) {
+ frame->property_outline_what() = 0x1 | 0x2 | 0x4 | 0x8;// == 0x15 == all four sides
+ outline_everything = false;
+ cerr << "RegionView::region_changed () what_changed = " << what_changed << endl;
+ }
}
void
diff --git a/gtk2_ardour/time_axis_view_item.cc b/gtk2_ardour/time_axis_view_item.cc
index df48fe9c24..d119738657 100644
--- a/gtk2_ardour/time_axis_view_item.cc
+++ b/gtk2_ardour/time_axis_view_item.cc
@@ -1049,3 +1049,11 @@ TimeAxisViewItem::idle_remove_this_item(TimeAxisViewItem* item, void* src)
return false;
}
+void
+TimeAxisViewItem::outline_entire_box ()
+{
+ cerr << "TimeAxisViewItem::outline_entire_box () called: " << this << endl;
+ outline_everything = true;
+ //frame->property_outline_what() = 0x1 | 0x2 | 0x3 | 0x4;
+}
+
diff --git a/gtk2_ardour/time_axis_view_item.h b/gtk2_ardour/time_axis_view_item.h
index 7884c22c1f..1fd491d5d0 100644
--- a/gtk2_ardour/time_axis_view_item.h
+++ b/gtk2_ardour/time_axis_view_item.h
@@ -296,6 +296,9 @@ class TimeAxisViewItem : public Selectable
* the destructor, this allows us to capture the source of the deletion
* event
*/
+
+ void outline_entire_box ();
+
sigc::signal<void,std::string,void*> ItemRemoved ;
/** Emitted when the name/Id of this item is changed */
@@ -465,6 +468,7 @@ class TimeAxisViewItem : public Selectable
Visibility visibility;
bool _recregion;
+ bool outline_everything;
}; /* class TimeAxisViewItem */
diff --git a/libs/ardour/region.cc b/libs/ardour/region.cc
index 3f41662000..769410627c 100644
--- a/libs/ardour/region.cc
+++ b/libs/ardour/region.cc
@@ -190,6 +190,7 @@ Region::set_name (string str)
void
Region::set_length (nframes_t len, void *src)
{
+ cerr << "Region::set_length() len = " << len << endl;
if (_flags & Locked) {
return;
}
diff --git a/libs/glibmm2/glibmm/propertyproxy_base.cc b/libs/glibmm2/glibmm/propertyproxy_base.cc
index d10c8cd352..dc97c6a922 100644
--- a/libs/glibmm2/glibmm/propertyproxy_base.cc
+++ b/libs/glibmm2/glibmm/propertyproxy_base.cc
@@ -20,6 +20,7 @@
* Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
+#include <cstring>
#include <glibmm/propertyproxy_base.h>
#include <glibmm/signalproxy_connectionnode.h>
#include <glibmm/object.h>
diff --git a/libs/gtkmm2/gtk/gtkmm/scale.cc b/libs/gtkmm2/gtk/gtkmm/scale.cc
index 6b7042daa7..31c78a772f 100644
--- a/libs/gtkmm2/gtk/gtkmm/scale.cc
+++ b/libs/gtkmm2/gtk/gtkmm/scale.cc
@@ -31,6 +31,7 @@
#include <gtk/gtkhscale.h>
#include <gtk/gtkvscale.h>
#include <math.h>
+#include <cstring>
namespace Gtk
{
diff --git a/libs/gtkmm2/gtk/gtkmm/targetentry.cc b/libs/gtkmm2/gtk/gtkmm/targetentry.cc
index e97e8438f5..ff16bf8886 100644
--- a/libs/gtkmm2/gtk/gtkmm/targetentry.cc
+++ b/libs/gtkmm2/gtk/gtkmm/targetentry.cc
@@ -21,7 +21,7 @@
*/
#include <gtkmm/targetentry.h>
-
+#include <cstring>
namespace Gtk
{
diff --git a/libs/sigc++2/.cvsignore b/libs/sigc++2/.cvsignore
deleted file mode 100644
index 4852d85cc7..0000000000
--- a/libs/sigc++2/.cvsignore
+++ /dev/null
@@ -1,19 +0,0 @@
-Makefile
-Makefile.in
-aclocal.m4
-autom4te.cache
-config.guess
-config.log
-config.status
-config.sub
-depcomp
-install-sh
-libsigc++-2.0.spec
-libtool
-ltmain.sh
-missing
-sigc++-2.0.pc
-stamp-h1
-configure
-sigc++config.h
-*.dylib
diff --git a/libs/sigc++2/AUTHORS b/libs/sigc++2/AUTHORS
deleted file mode 100644
index 000671ac0a..0000000000
--- a/libs/sigc++2/AUTHORS
+++ /dev/null
@@ -1,8 +0,0 @@
-Martin Schulze <mschulze@cvs.gnome.org>
-Murray Cumming <murrayc@murrayc.com>
-Cedric Gustin <cedric.gustin@swing.be> (win32 support)
-Timothy M. Shead <tshead@k-3d.com> and James Lin <jameslin@vmware.com> (MSVC support)
-Damien Carbery <Damien.Carbery@Sun.COM> (Sun FORTE C++ support)
-Takashi Takekawa <takekawa@users.sourceforge.jp> (Intel C++ support)
-Andreas Rottmann <rottmann@users.sourceforge.net> (make system)
-Karl Einar Nelson <kenelson@ece.ucdavis.edu> (initial version 1.9.4)
diff --git a/libs/sigc++2/COPYING b/libs/sigc++2/COPYING
deleted file mode 100644
index c4792dd27a..0000000000
--- a/libs/sigc++2/COPYING
+++ /dev/null
@@ -1,515 +0,0 @@
-
- GNU LESSER GENERAL PUBLIC LICENSE
- Version 2.1, February 1999
-
- Copyright (C) 1991, 1999 Free Software Foundation, Inc.
- 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-[This is the first released version of the Lesser GPL. It also counts
- as the successor of the GNU Library Public License, version 2, hence
- the version number 2.1.]
-
- Preamble
-
- The licenses for most software are designed to take away your
-freedom to share and change it. By contrast, the GNU General Public
-Licenses are intended to guarantee your freedom to share and change
-free software--to make sure the software is free for all its users.
-
- This license, the Lesser General Public License, applies to some
-specially designated software packages--typically libraries--of the
-Free Software Foundation and other authors who decide to use it. You
-can use it too, but we suggest you first think carefully about whether
-this license or the ordinary General Public License is the better
-strategy to use in any particular case, based on the explanations
-below.
-
- When we speak of free software, we are referring to freedom of use,
-not price. Our General Public Licenses are designed to make sure that
-you have the freedom to distribute copies of free software (and charge
-for this service if you wish); that you receive source code or can get
-it if you want it; that you can change the software and use pieces of
-it in new free programs; and that you are informed that you can do
-these things.
-
- To protect your rights, we need to make restrictions that forbid
-distributors to deny you these rights or to ask you to surrender these
-rights. These restrictions translate to certain responsibilities for
-you if you distribute copies of the library or if you modify it.
-
- For example, if you distribute copies of the library, whether gratis
-or for a fee, you must give the recipients all the rights that we gave
-you. You must make sure that they, too, receive or can get the source
-code. If you link other code with the library, you must provide
-complete object files to the recipients, so that they can relink them
-with the library after making changes to the library and recompiling
-it. And you must show them these terms so they know their rights.
-
- We protect your rights with a two-step method: (1) we copyright the
-library, and (2) we offer you this license, which gives you legal
-permission to copy, distribute and/or modify the library.
-
- To protect each distributor, we want to make it very clear that
-there is no warranty for the free library. Also, if the library is
-modified by someone else and passed on, the recipients should know
-that what they have is not the original version, so that the original
-author's reputation will not be affected by problems that might be
-introduced by others.
-^L
- Finally, software patents pose a constant threat to the existence of
-any free program. We wish to make sure that a company cannot
-effectively restrict the users of a free program by obtaining a
-restrictive license from a patent holder. Therefore, we insist that
-any patent license obtained for a version of the library must be
-consistent with the full freedom of use specified in this license.
-
- Most GNU software, including some libraries, is covered by the
-ordinary GNU General Public License. This license, the GNU Lesser
-General Public License, applies to certain designated libraries, and
-is quite different from the ordinary General Public License. We use
-this license for certain libraries in order to permit linking those
-libraries into non-free programs.
-
- When a program is linked with a library, whether statically or using
-a shared library, the combination of the two is legally speaking a
-combined work, a derivative of the original library. The ordinary
-General Public License therefore permits such linking only if the
-entire combination fits its criteria of freedom. The Lesser General
-Public License permits more lax criteria for linking other code with
-the library.
-
- We call this license the "Lesser" General Public License because it
-does Less to protect the user's freedom than the ordinary General
-Public License. It also provides other free software developers Less
-of an advantage over competing non-free programs. These disadvantages
-are the reason we use the ordinary General Public License for many
-libraries. However, the Lesser license provides advantages in certain
-special circumstances.
-
- For example, on rare occasions, there may be a special need to
-encourage the widest possible use of a certain library, so that it
-becomes
-a de-facto standard. To achieve this, non-free programs must be
-allowed to use the library. A more frequent case is that a free
-library does the same job as widely used non-free libraries. In this
-case, there is little to gain by limiting the free library to free
-software only, so we use the Lesser General Public License.
-
- In other cases, permission to use a particular library in non-free
-programs enables a greater number of people to use a large body of
-free software. For example, permission to use the GNU C Library in
-non-free programs enables many more people to use the whole GNU
-operating system, as well as its variant, the GNU/Linux operating
-system.
-
- Although the Lesser General Public License is Less protective of the
-users' freedom, it does ensure that the user of a program that is
-linked with the Library has the freedom and the wherewithal to run
-that program using a modified version of the Library.
-
- The precise terms and conditions for copying, distribution and
-modification follow. Pay close attention to the difference between a
-"work based on the library" and a "work that uses the library". The
-former contains code derived from the library, whereas the latter must
-be combined with the library in order to run.
-^L
- GNU LESSER GENERAL PUBLIC LICENSE
- TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
- 0. This License Agreement applies to any software library or other
-program which contains a notice placed by the copyright holder or
-other authorized party saying it may be distributed under the terms of
-this Lesser General Public License (also called "this License").
-Each licensee is addressed as "you".
-
- A "library" means a collection of software functions and/or data
-prepared so as to be conveniently linked with application programs
-(which use some of those functions and data) to form executables.
-
- The "Library", below, refers to any such software library or work
-which has been distributed under these terms. A "work based on the
-Library" means either the Library or any derivative work under
-copyright law: that is to say, a work containing the Library or a
-portion of it, either verbatim or with modifications and/or translated
-straightforwardly into another language. (Hereinafter, translation is
-included without limitation in the term "modification".)
-
- "Source code" for a work means the preferred form of the work for
-making modifications to it. For a library, complete source code means
-all the source code for all modules it contains, plus any associated
-interface definition files, plus the scripts used to control
-compilation
-and installation of the library.
-
- Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope. The act of
-running a program using the Library is not restricted, and output from
-such a program is covered only if its contents constitute a work based
-on the Library (independent of the use of the Library in a tool for
-writing it). Whether that is true depends on what the Library does
-and what the program that uses the Library does.
-
- 1. You may copy and distribute verbatim copies of the Library's
-complete source code as you receive it, in any medium, provided that
-you conspicuously and appropriately publish on each copy an
-appropriate copyright notice and disclaimer of warranty; keep intact
-all the notices that refer to this License and to the absence of any
-warranty; and distribute a copy of this License along with the
-Library.
-
- You may charge a fee for the physical act of transferring a copy,
-and you may at your option offer warranty protection in exchange for a
-fee.
-
- 2. You may modify your copy or copies of the Library or any portion
-of it, thus forming a work based on the Library, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
- a) The modified work must itself be a software library.
-
- b) You must cause the files modified to carry prominent notices
- stating that you changed the files and the date of any change.
-
- c) You must cause the whole of the work to be licensed at no
- charge to all third parties under the terms of this License.
-
- d) If a facility in the modified Library refers to a function or a
- table of data to be supplied by an application program that uses
- the facility, other than as an argument passed when the facility
- is invoked, then you must make a good faith effort to ensure that,
- in the event an application does not supply such function or
- table, the facility still operates, and performs whatever part of
- its purpose remains meaningful.
-
- (For example, a function in a library to compute square roots has
- a purpose that is entirely well-defined independent of the
- application. Therefore, Subsection 2d requires that any
- application-supplied function or table used by this function must
- be optional: if the application does not supply it, the square
- root function must still compute square roots.)
-
-These requirements apply to the modified work as a whole. If
-identifiable sections of that work are not derived from the Library,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works. But when you
-distribute the same sections as part of a whole which is a work based
-on the Library, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote
-it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Library.
-
-In addition, mere aggregation of another work not based on the Library
-with the Library (or with a work based on the Library) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
- 3. You may opt to apply the terms of the ordinary GNU General Public
-License instead of this License to a given copy of the Library. To do
-this, you must alter all the notices that refer to this License, so
-that they refer to the ordinary GNU General Public License, version 2,
-instead of to this License. (If a newer version than version 2 of the
-ordinary GNU General Public License has appeared, then you can specify
-that version instead if you wish.) Do not make any other change in
-these notices.
-^L
- Once this change is made in a given copy, it is irreversible for
-that copy, so the ordinary GNU General Public License applies to all
-subsequent copies and derivative works made from that copy.
-
- This option is useful when you wish to copy part of the code of
-the Library into a program that is not a library.
-
- 4. You may copy and distribute the Library (or a portion or
-derivative of it, under Section 2) in object code or executable form
-under the terms of Sections 1 and 2 above provided that you accompany
-it with the complete corresponding machine-readable source code, which
-must be distributed under the terms of Sections 1 and 2 above on a
-medium customarily used for software interchange.
-
- If distribution of object code is made by offering access to copy
-from a designated place, then offering equivalent access to copy the
-source code from the same place satisfies the requirement to
-distribute the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
- 5. A program that contains no derivative of any portion of the
-Library, but is designed to work with the Library by being compiled or
-linked with it, is called a "work that uses the Library". Such a
-work, in isolation, is not a derivative work of the Library, and
-therefore falls outside the scope of this License.
-
- However, linking a "work that uses the Library" with the Library
-creates an executable that is a derivative of the Library (because it
-contains portions of the Library), rather than a "work that uses the
-library". The executable is therefore covered by this License.
-Section 6 states terms for distribution of such executables.
-
- When a "work that uses the Library" uses material from a header file
-that is part of the Library, the object code for the work may be a
-derivative work of the Library even though the source code is not.
-Whether this is true is especially significant if the work can be
-linked without the Library, or if the work is itself a library. The
-threshold for this to be true is not precisely defined by law.
-
- If such an object file uses only numerical parameters, data
-structure layouts and accessors, and small macros and small inline
-functions (ten lines or less in length), then the use of the object
-file is unrestricted, regardless of whether it is legally a derivative
-work. (Executables containing this object code plus portions of the
-Library will still fall under Section 6.)
-
- Otherwise, if the work is a derivative of the Library, you may
-distribute the object code for the work under the terms of Section 6.
-Any executables containing that work also fall under Section 6,
-whether or not they are linked directly with the Library itself.
-^L
- 6. As an exception to the Sections above, you may also combine or
-link a "work that uses the Library" with the Library to produce a
-work containing portions of the Library, and distribute that work
-under terms of your choice, provided that the terms permit
-modification of the work for the customer's own use and reverse
-engineering for debugging such modifications.
-
- You must give prominent notice with each copy of the work that the
-Library is used in it and that the Library and its use are covered by
-this License. You must supply a copy of this License. If the work
-during execution displays copyright notices, you must include the
-copyright notice for the Library among them, as well as a reference
-directing the user to the copy of this License. Also, you must do one
-of these things:
-
- a) Accompany the work with the complete corresponding
- machine-readable source code for the Library including whatever
- changes were used in the work (which must be distributed under
- Sections 1 and 2 above); and, if the work is an executable linked
- with the Library, with the complete machine-readable "work that
- uses the Library", as object code and/or source code, so that the
- user can modify the Library and then relink to produce a modified
- executable containing the modified Library. (It is understood
- that the user who changes the contents of definitions files in the
- Library will not necessarily be able to recompile the application
- to use the modified definitions.)
-
- b) Use a suitable shared library mechanism for linking with the
- Library. A suitable mechanism is one that (1) uses at run time a
- copy of the library already present on the user's computer system,
- rather than copying library functions into the executable, and (2)
- will operate properly with a modified version of the library, if
- the user installs one, as long as the modified version is
- interface-compatible with the version that the work was made with.
-
- c) Accompany the work with a written offer, valid for at
- least three years, to give the same user the materials
- specified in Subsection 6a, above, for a charge no more
- than the cost of performing this distribution.
-
- d) If distribution of the work is made by offering access to copy
- from a designated place, offer equivalent access to copy the above
- specified materials from the same place.
-
- e) Verify that the user has already received a copy of these
- materials or that you have already sent this user a copy.
-
- For an executable, the required form of the "work that uses the
-Library" must include any data and utility programs needed for
-reproducing the executable from it. However, as a special exception,
-the materials to be distributed need not include anything that is
-normally distributed (in either source or binary form) with the major
-components (compiler, kernel, and so on) of the operating system on
-which the executable runs, unless that component itself accompanies
-the executable.
-
- It may happen that this requirement contradicts the license
-restrictions of other proprietary libraries that do not normally
-accompany the operating system. Such a contradiction means you cannot
-use both them and the Library together in an executable that you
-distribute.
-^L
- 7. You may place library facilities that are a work based on the
-Library side-by-side in a single library together with other library
-facilities not covered by this License, and distribute such a combined
-library, provided that the separate distribution of the work based on
-the Library and of the other library facilities is otherwise
-permitted, and provided that you do these two things:
-
- a) Accompany the combined library with a copy of the same work
- based on the Library, uncombined with any other library
- facilities. This must be distributed under the terms of the
- Sections above.
-
- b) Give prominent notice with the combined library of the fact
- that part of it is a work based on the Library, and explaining
- where to find the accompanying uncombined form of the same work.
-
- 8. You may not copy, modify, sublicense, link with, or distribute
-the Library except as expressly provided under this License. Any
-attempt otherwise to copy, modify, sublicense, link with, or
-distribute the Library is void, and will automatically terminate your
-rights under this License. However, parties who have received copies,
-or rights, from you under this License will not have their licenses
-terminated so long as such parties remain in full compliance.
-
- 9. You are not required to accept this License, since you have not
-signed it. However, nothing else grants you permission to modify or
-distribute the Library or its derivative works. These actions are
-prohibited by law if you do not accept this License. Therefore, by
-modifying or distributing the Library (or any work based on the
-Library), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Library or works based on it.
-
- 10. Each time you redistribute the Library (or any work based on the
-Library), the recipient automatically receives a license from the
-original licensor to copy, distribute, link with or modify the Library
-subject to these terms and conditions. You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties with
-this License.
-^L
- 11. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Library at all. For example, if a patent
-license would not permit royalty-free redistribution of the Library by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Library.
-
-If any portion of this section is held invalid or unenforceable under
-any particular circumstance, the balance of the section is intended to
-apply, and the section as a whole is intended to apply in other
-circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system which is
-implemented by public license practices. Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
- 12. If the distribution and/or use of the Library is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Library under this License
-may add an explicit geographical distribution limitation excluding those
-countries, so that distribution is permitted only in or among
-countries not thus excluded. In such case, this License incorporates
-the limitation as if written in the body of this License.
-
- 13. The Free Software Foundation may publish revised and/or new
-versions of the Lesser General Public License from time to time.
-Such new versions will be similar in spirit to the present version,
-but may differ in detail to address new problems or concerns.
-
-Each version is given a distinguishing version number. If the Library
-specifies a version number of this License which applies to it and
-"any later version", you have the option of following the terms and
-conditions either of that version or of any later version published by
-the Free Software Foundation. If the Library does not specify a
-license version number, you may choose any version ever published by
-the Free Software Foundation.
-^L
- 14. If you wish to incorporate parts of the Library into other free
-programs whose distribution conditions are incompatible with these,
-write to the author to ask for permission. For software which is
-copyrighted by the Free Software Foundation, write to the Free
-Software Foundation; we sometimes make exceptions for this. Our
-decision will be guided by the two goals of preserving the free status
-of all derivatives of our free software and of promoting the sharing
-and reuse of software generally.
-
- NO WARRANTY
-
- 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
-WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
-EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
-OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
-KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
-LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
-THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
- 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
-WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
-AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
-FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
-CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
-LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
-RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
-FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
-SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
-DAMAGES.
-
- END OF TERMS AND CONDITIONS
-^L
- How to Apply These Terms to Your New Libraries
-
- If you develop a new library, and you want it to be of the greatest
-possible use to the public, we recommend making it free software that
-everyone can redistribute and change. You can do so by permitting
-redistribution under these terms (or, alternatively, under the terms
-of the ordinary General Public License).
-
- To apply these terms, attach the following notices to the library.
-It is safest to attach them to the start of each source file to most
-effectively convey the exclusion of warranty; and each file should
-have at least the "copyright" line and a pointer to where the full
-notice is found.
-
-
- <one line to give the library's name and a brief idea of what it
-does.>
- Copyright (C) <year> <name of author>
-
- 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 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
-
-Also add information on how to contact you by electronic and paper
-mail.
-
-You should also get your employer (if you work as a programmer) or
-your
-school, if any, to sign a "copyright disclaimer" for the library, if
-necessary. Here is a sample; alter the names:
-
- Yoyodyne, Inc., hereby disclaims all copyright interest in the
- library `Frob' (a library for tweaking knobs) written by James
-Random Hacker.
-
- <signature of Ty Coon>, 1 April 1990
- Ty Coon, President of Vice
-
-That's all there is to it!
-
-
diff --git a/libs/sigc++2/ChangeLog b/libs/sigc++2/ChangeLog
deleted file mode 100644
index 8e02aef058..0000000000
--- a/libs/sigc++2/ChangeLog
+++ /dev/null
@@ -1,1249 +0,0 @@
-2004-10-12 Martin Schulze <mschulze@cvs.gnome.org>
-
- * MSVC_Net2003/*/*.vcproj, MSVC_Net2003/blank.cpp: Fix project files
- to compile out-of-the-box and add dummy file so that .cc files get
- recognized as c++ code files (patch from Timothy M. Shead).
-
-2004-10-10 Martin Schulze <mschulze@cvs.gnome.org>
-
- * sigc++/signal_base.{h,cc}, sigc++/functors/slot_base.{h,cc},
- sigc++/functors/macros/slot.h.m4: If SIGC_NEW_DELETE_IN_LIBRARY_ONLY
- is defined, implement signal_base::operator new/delete and
- slot_rep::operator new/delete (suggested by Timothy M. Shead).
- Remove old work-around from 2004-10-02 since it didn't work.
-
-2004-10-07 Martin Schulze <mschulze@cvs.gnome.org>
-
- * configure.ac: Update for libtool 1.5a (with support for Intel C++).
- * MSVC_Net2003/sigc++config.h: Remove bogus '#define'
- (reported by Timothy M. Shead <tshead@k-3d.com>).
-
-2004-10-02 Martin Schulze <mschulze@cvs.gnome.org>
-
- * configure.ac: Bump version number to 2.0.6.
- * NEWS: Add ChangeLog summary for version 2.0.6.
-
-2004-10-02 Martin Schulze <mschulze@cvs.gnome.org>
-
- * sigc++/functors/slot_base.{h,cc}, sigc++/functors/macros/slot.h.m4:
- Rename (typed_)slot_rep::detach to (typed_)slot_rep::destroy.
- Call the dtor of the functor stored in typed_slot_rep from destroy().
- A cleaner solution would be to add an additional "virtual" function
- that calls 'delete' or a real virtual dtor. However, this would be
- less efficient and might break the ABI. (Fixes #152323.)
-
-2004-10-02 Martin Schulze <mschulze@cvs.gnome.org>
-
- * sigc++config.h.in, MSVC_Net2003/sigc++config.h,
- sigc++/signal_base.cc, sigc++/functors/slot_base.{h,cc},
- sigc++/functors/macros/slot.h.m4: Define and use new macro
- SIGC_NEW_DELETE_IN_LIBRARY_ONLY to ABI-compatibly move
- all calls to new and delete into non-inline library code.
-
-2004-09-26 Martin Schulze <mschulze@cvs.gnome.org>
-
- * sigc++/adaptors/lambda/macros/group.h.m4: Add a missing
- template keyword in the definition of deduce_result_type::type
- (hopefully fixes #152327).
-
-2004-09-26 Martin Schulze <mschulze@cvs.gnome.org>
-
- * sigc++/macros/object_slot.h.m4: Use correct bound_mem_functor
- variants for const (volatile) methods (fixes #148744).
-
-2004-09-01 Martin Schulze <mschulze@cvs.gnome.org>
-
- * docs/index.html: Correct link to lambda module.
-
-2004-09-01 Martin Schulze <mschulze@cvs.gnome.org>
-
- * README: Update compatibility section.
-
-2.0.5:
-
-2004-09-01 Martin Schulze <mschulze@cvs.gnome.org>
-
- * MSVC_Net2003/Makefile.am: Add sigc++config.h to EXTRA_DIST.
- * configure.ac: Bump version number to 2.0.5.
- * NEWS: Add ChangeLog summary for version 2.0.5.
-
-2.0.4:
-
-2004-08-21 Martin Schulze <mschulze@cvs.gnome.org>
-
- * tests/test_lambda.cc: Use sigc::var("\n") instead of sigc::ref("\n").
- Comment out the affected lines, nevertheless.
- Sun FORTE and Compaq C++ can handle neither sigc::ref("\n") nor
- sigc::var("\n"). I see more chances fixing sigc::var("\n").
- * sigc++/adaptors/lambda/macros/base.h.m4: Add a comment about a
- possible work around for sigc::var("\n") compiler problems.
- * tests/test_compatibility.cc: Remove a 'const' keyword that prevents
- the test case from compiling with the Sun FORTE.
- * tests/test_trackable.cc: Remove a 'virtual' keyword and an unused
- variable to avoid compiler warnings.
- * NEWS: Add ChangeLog summary for version 2.0.4.
-
-2004-08-03 Martin Schulze <mschulze@cvs.gnome.org>
-
- * scripts/cxx.m4, sigc++config.h.in, configure.ac,
- sigc++/adaptors/lambda/macros/operator.h.m4, tests/test_lambda.cc:
- Rollback change from 2004-07-15: configure check
- SIGC_OPERATOR_OVERLOAD_AMBIGUITY is not needed - the overload
- ambiguity doesn't occur if the lambda operators take all arguments
- as const reference.
- * configure.ac: Bump version number to 2.0.4.
-
-2004-08-03 James Lin <slimjimmy@mail.com>
-
- * Added SIGC_API qualifier to all externally-visible non-template
- classes/structs.
- * Added #include <sigc++config.h> to the files that use SIGC_API.
- * Added empty SIGC_API definition to sigc++config.h.in for non-MSVC
- compilers. I'm not sure if this is the right place to put this
- (probably not).
- * Added MSVC-specific sigc++config.h to the MSVC project directory.
- (The comment in it probably should be edited.)
- * Changed MSVC project settings to output a multi-threaded DLL, set
- the include paths to work (hopefully) out-of-the-box. Disabled
- precompiled headers, since they just complicate things and
- shouldn't be necessary for such a relatively project.
-
-2004-08-01 Martin Schulze <mschulze@cvs.gnome.org>
-
- * sigc++/type_traits.h: Remove type_trait<>::instance()
- (was unimplemented and unused; caused problems with the MSVC).
-
-2004-07-23 Martin Schulze <mschulze@cvs.gnome.org>
-
- * Makefile.am: Fix typo concerning distribution of libsigc++-2.0.spec.
- * AUTHORS: Mention our contributors for platforms Sun FORTE and Intel C++.
-
-2004-07-15 Martin Schulze <mschulze@cvs.gnome.org>
-
- * *.h.m4: Don't call operator()() in sun_forte_workaround(); rather copy
- operator()(). Calling operator()() makes a copy of the arguments causing
- wrong results if an argument type is a reference. Hopefully fixes #147311.
-
-2004-07-15 Martin Schulze <mschulze@cvs.gnome.org>
-
- * tests/test_lambda.cc: Break "std::cout << [expr] << a << std::endl;"
- into "std::cout << [expr]; std::cout << a << std::endl;".
- I hope this fixes #147313 where the right values for "[expr]" but wrong
- values for "a" were written to std::cout for some compiler with optimizations
- turned off.
-
-2004-07-15 Martin Schulze <mschulze@cvs.gnome.org>
-
- * sigc++/adaptors/lambda/macros/operator.h.m4: Correct return type deduction
- of lambda expressions in lambda_operator*::operator()(). Might be related to
- bug #147313.
- * sigc++/adaptors/lambda/macros/group.h.m4: Use m4 macro _P_().
-
-2004-07-15 Martin Schulze <mschulze@cvs.gnome.org>
-
- * scripts/cxx.m4, sigc++config.h.in, configure.ac,
- sigc++/adaptors/lambda/macros/operator.h.m4, tests/test_lambda.cc:
- Add configure check SIGC_OPERATOR_OVERLOAD_AMBIGUITY for a SUN FORTE
- compiler problem (bug #147391). Use it to decide whether the lambda
- action operators may be overloaded (not doing so restricts the API slightly).
- * sigc++/adaptors/lambda/macros/operator.h.m4: Add some doxygen comments
- and remove attic code.
- * sigc++/adaptors/lambda/macros/base.h.m4:
- Add templates unwrap_lambda_type and unwrap_lambda_value() to support
- the non-overloaded lambda action operators. Also add some doxygen comments
- and remove attic code.
- * sigc++/adaptors/lambda/macros/group.h.m4: Fix a bug that resulted in
- gargabe values being passed on to the functor contained in the group adaptor
- (partly fixes #147313).
-
-2004-07-11 Martin Schulze <mschulze@cvs.gnome.org>
-
- * scripts/cxx.m4, sigc++config.h.in, configure.ac, *.h.m4:
- Split SIGC_CXX_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- into SIGC_CXX_GCC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- and SIGC_CXX_MSVC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD.
- Remove LIBSIGC_TEMPLATE_PREFIX. Add template keyword to
- SIGC_WORKAROUND_OPERATOR_PARENTHESES depending on the configure checks.
- Should fix the compiler problems with MSVC.
-
-2004-07-11 Martin Schulze <mschulze@cvs.gnome.org>
-
- * examples/hello_world.cc: Use sigc::ptr_fun instead of std::ptr_fun.
- (fixes bug #144846)
-
-2004-07-11 Eric Bourque <ericb@computer.org>
-
- * libsigc++-2.0.spec.in: new file
- * configure.ac : patched generate spec file
- * .cvsignore: ignore generated file (Martin Schulze)
- * Makefile.am: distribute spec file (Martin Schulze)
-
-2004-07-11 Murray Cumming <murrayc@murrayc.com>
-
- * sigc++/connection.cc: Added some comments.
- * sigc++/trackable.cc: operator=(): Check for self-asignment, though I
- do not know of any actual bug that this fixes. Added some comments.
- * sigc++/trackable.h Added some doxygen documentation.
-
-2004-07-09 Murray Cumming <murrayc@murrayc.com>
-
- * tests/: Added test_disconnect_during_emit.cc, to prove that this
- works.
-
-2004-07-08 Murray Cumming <murrayc@murrayc.com>
-
- * tests/test_retype_return.cc: foo::operator(int): return a
- value. The SUN Forte 5.5 compiler complains about this, as it should.
-
-2004-07-08 Murray Cumming <murrayc@murrayc.com>
-
- * sigc++/macros/signal.h.m4: class signal*: Rename the slot_list
- typedef to slot_list_type, because there is already a template class
- called slot_type. SUN Forte 5.5 seems to complain about this and I am
- not surprised. The old typdef is still there for backwards
- compatibility, except when building with SUN Forte.
-
-2004-07-07 Murray Cumming <murrayc@murrayc.com>
-
- * scripts/cxx.m4: SIGC_CXX_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD():
- Don't define the SIGC_TEMPLATE_SPECIALIZATOIN_OPERATOR_OVERLOAD C
- macro at all if the test fails. This might fix the build on SUN Forte.
- * sigc++/functors/macros/mem_fun.h.m4: Default constructor: Initialize
- the func_ptr_ member variable. I have no evidence that this solves any
- problems, but it worried me.
- * sigc++/functors/slot_base.h: operator bool(): Correct documentation,
- to use @code instead of <code>
- * sigc++/macros/signal.h.m4: Remove the documentation for the
- parameters named first and last, because they do not exist.
-
-2004-05-31 Martin Schulze <mschulze@cvs.gnome.org>
-
- * autogen.sh: Add '--force'-flag to the 'libtoolize'-command (bug #143425).
-
-2.0.3:
-
-2004-05-30 Martin Schulze <mschulze@cvs.gnome.org>
-
- * configure.ac: Bump version number to 2.0.3.
- * NEWS: Add ChangeLog summary for version 2.0.3.
- * sigc++/macros/signal.h.m4: Fix segfault on emission of unconnected signal.
- * tests/test_signal.cc, tests/test_accumulated.cc: Emit unconnected signal.
- * sigc++/macros/object_slot.h.m4: Suppress compiler warning at
- dynamic_cast<>-test (tested by Christof Petig/Timothy M. Shead).
-
-2.0.2:
-
-2004-05-22 Martin Schulze <mschulze@cvs.gnome.org>
-
- * configure.ac: Bump version number to 2.0.2.
- * NEWS: Add ChangeLog summary for version 2.0.2.
-
-2004-05-20 Martin Schulze <mschulze@cvs.gnome.org>
-
- * sigc++/macros/signal.h.m4: If a custom accumulator is specified
- invoke it on signal emission even if the signal's slot list is empty.
- (This used to be the case in libsigc++-1.2 as pointed out by Timothy.)
-
-2004-05-20 Martin Schulze <mschulze@cvs.gnome.org>
-
- * sigc++/macros/object_slot.h.m4: Suppress compiler warning at
- dynamic_cast<>-test (suggested by Timothy M. Shead).
-
-2004-05-01 Martin Schulze <mschulze@cvs.gnome.org>
-
- * README: Updated for libsigc++-2.0.
-
-2.0.1:
-
-2004-04-27 Martin Schulze <mschulze@cvs.gnome.org>
-
- * configure.ac: Bump version number to 2.0.1.
- * NEWS: Add ChangeLog summary for version 2.0.1.
- * sigc++/adaptors/lambda/macros/base.h.m4: Fixed documentation.
- * sigc++/adaptors/macros/bind.h.m4: Hide work-arounds from doxygen.
- * scripts/cxx.m4, sigc++config.h.in, configure.ac,
- sigc++/adaptors/macros/bind.h.m4: Removed configure check. It
- showed that the Apple gcc can also compile the sophisticated version
- of the work-around.
-
-2004-04-26 Martin Schulze <mschulze@cvs.gnome.org>
-
- * sigc++/macros/object_slot.h.m4: Modified test for SigC::Object
- inheritance so that it also works if SigC::Object is virtual base.
- (Fixes bug 141094 reported by Jonathan Brandmeyer)
-
-2004-04-26 Martin Schulze <mschulze@cvs.gnome.org>
-
- * scripts/cxx.m4: Updated the configure check. It would probably
- have succeeded on the Apple.
-
-2004-04-26 Martin Schulze <mschulze@cvs.gnome.org>
-
- * sigc++/adaptors/macros/bind.h.m4: Add work-arounds for
- bind<-1>::deduce_result_type compilation error on Apple gcc 3.3.
- * scripts/cxx.m4, sigc++config.h.in, configure.ac: Add configure
- check for the compilation error above.
- * sigc++/adaptors/lambda/macros/operator.h.m4: Replace _A with
- _Aa. _A is a reserved keyword on Apple gcc 3.3 (Spundun Bhatt).
- (fixes bug #10444 reported by Spundun Bhatt)
-
-2004-04-19 Martin Schulze <mschulze@cvs.gnome.org>
-
- * sigc++/signal_base.cc: Fixed serious bug in signal_base::impl():
- Only reference a newly created object (initial reference).
- (This fixes bug #140269 reported by Andris.)
-
-2004-04-19 Murray Cumming <murrayc@murrayc.com>
-
- * scripts/cxx.m4: Updated the operator() template check, because it
- failed with gcc 3.4 (from cvs). Apparently the template keyword can
- only be used from another template.
-
-2.0.0:
-
-2004-04-06 Martin Schulze <mschulze@cvs.gnome.org>
-
- * configure.ac: Bump version number to 2.0.0.
- * NEWS: Add ChangeLog summary for version 2.0.0.
- * TODO, AUTHORS: Bring up to date.
- * sigc++-2.0.pc.in, Makefile.am: 1.9 -> 2.0
- * Added more documentation.
-
-2004-04-10 Murray Cumming <murrayc@murrayc.com>
-
- * sigc++/connection.[h|cc]: Implement blocked() to avoid undefined
- symbol linker error.
-
-2004-04-08 Murray Cumming <murrayc@murrayc.com>
-
- * dist the scripts directory.
-
-1.9.16:
-
-2004-04-06 Martin Schulze <teebaum@cvs.gnome.org>
-
- * configure.ac: Bump version number to 1.9.16.
- * NEWS: Add ChangeLog summary for version 1.9.16.
-
-2004-04-02 Murray Cumming <murrayc@murrayc.com>
-
- * sigc++/connection.cc: Make block() and unblock() always return a
- value, to fix compiler warnings. Patch from bug #138620 by
- Alexander Nedotsukov.
-
-2004-04-02 Murray Cumming <murrayc@murrayc.com>
-
- * Fix the compile of examples/member_method.cc. Bug #131701 from
- Kirill Smelkov. I also made the examples build as part of the regular
- build.
-
-2004-04-02 Murray Cumming <murrayc@murrayc.com>
-
- * sigc++config.h.m4: Remove every undef apart from the one we need, to
- avoid clashes, because we #include this in a public header.
-
-2004-03-25 Murray Cumming <murrayc@murrayc.com>
-
- * scripts/cxx.m4, configure.in, sigc++config.h.in: Rename the
- template_keyword check to template_specialization, because the problem
- is with or without the keyword.
- * sigc++/adaptors/macros/adaptor_trait.h.m4: Define
- SIGC_WORKAROUND_OPERATOR_PARENTHESES, which calls either operator() or
- sun_forte_workaround() depending on the result of the compiler test.
- * many .m4 files: Add sun_forte_workaround methods that call the
- operator() methods. Put them in #ifdefs so that only SUN Forte C++
- sees them.
-
-2004-03-22 Murray Cumming <murrayc@murrayc.com>
-
- * Makefile.am, sigc++/Makfile.am: Fix the sigc++config.h.in disting,
- to fix make distcheck.
-
-2004-03-21 Murray Cumming <murrayc@murrayc.com>
-
- * Rename config.h.in to sigc++config.h.in so that gtkmm does not
- include some other config.h at strange times - fixes a problem in
- the gtkmm demos. This should really be in the sigc++ directory, but
- that seems to add that as an include path, which causes the STL
- headers to include sigc++/signal.h instead of some STL signal.h header.
-
-2004-03-20 Murray Cumming <murrayc@murrayc.com>
-
- * Makefile.am: Install the config.h platform-specific header.
- * sigc++-2.0.pc.in: Report the include path for config.h
-
-2004-03-20 Murray Cumming <murrayc@murrayc.com>
-
- * Added config.h.in, using autoheader, from which config.h will be
- generated, so we can detect compiler features.
- * configure.ac: Added AC_CONFIG_HEADER(config.h) to generate config.h
- from config.h.in.
- * scripts/cxx.m4: Added this directory and file, with a
- SIGC_CXX_TEMPLATE_KEYWORD_OPERATOR_OVERLOAD macro that defines
- the SIGC_TEMPLATE_KEYWORD_OPERATOR_OVERLOAD C macro.
- * autogen.sh: Added -I scripts to the aclocal call, so that it finds
- the m4 macro for configure.ac.
- * sigc++/adapators/macros/adaptor_trait.h.m4: Include config.h and
- use SIGC_TEMPLATE_KEYOWRD_OPERATOR_OVERLOAD.
-
-2004-03-18 Martin Schulze <mschulze@cvs.gnome.org>
-
- * tests/test_mem_fun.cc, tests/test_ptr_fun.cc: Don't test
- making functors from overloaded methods with partial template
- specialization. Not portable among different compilers (SUN FORTE).
- * adaptors/macros/apdaptor_trait.h.m4: Only gcc seems to use the
- notation A.template operator()<...>(...) => adapt preprocessor check
- for #define LIBSIGC_TEMPLATE_PREFIX. TODO: replace with configure check.
-
-2004-03-13 Murray Cumming <murrayc@murrayc.com>
-
- * g++ 3.4 (pre-release) build fixes:
- * sigc++/macros/signal.h.m4: slot_iterator_buf::operator*():
- Use blocked() and empty() instead of non-existant blocked_and_empty().
- * sigc++/functors/macros/mem_fun.h.m4: memfun_functor*::operator()():
- Use this->func_ptr_ instead of just func_ptr_.
- * sigc++/adaptors/macros/deduce_result_type.h.m4: Use
- T_functor::template deduce_result_type<> instead of just
- T_functor::deduce_result_type<>.
- * sigc++/adaptors/lambda/macros/base.h.m4, operator.h.m4, group.h.m4::
- Use template keyword again. operator[](): Use this->value_ instead of
- just value_.
- * sigc++/adaptors/lambda/macros/bind/m4: Use template keyword, and
- this-> again.
- * sigc++/adaptors/macros/compose.h.m4, hide.h.m4, bind_return.h.m4,
- exception_catch.h.m4:
- rettype.h.m4, rettype_return.h.m4: Use template keyword,and this-> again
-
-1.9.15:
-
-2004-02-27 Martin Schulze <teebaum@cvs.gnome.org>
-
- * configure.ac: Bump version number to 1.9.15.
- * NEWS: Add ChangeLog summary for version 1.9.15.
-
-2004-02-27 Martin Schulze <teebaum@cvs.gnome.org>
-
- * sigc++/functors/macros/slot.h.m4: Make the unnumbered slot templates'
- copy ctors use the copy ctors of the base class. Fixes bug #24698.
- * tests/test_slot.cc: Test copy ctor (Bryan Forbes).
-
-2004-02-27 Martin Schulze <teebaum@cvs.gnome.org>
-
- * tests/type_functor_trait.cc: Bring it up-to-date (use sigc::ref).
- Make it work with the SUN Forte.
-
-2004-02-24 Martin Schulze <teebaum@cvs.gnome.org>
-
- * sigc++/type_traits.h: Make is_base_and_derived<> work with the SUN Forte.
-
-2004-02-19 Martin Schulze <teebaum@cvs.gnome.org>
-
- * sigc++/type_traits.h: Make is_base_and_derived<> platform independant.
- * sigc++/adaptors/lambda/macros/base.h.m4: Make lambda_core<> ctors
- explicit. Remove an unused ctor from lambda_core<T_type, true>.
-
-2004-02-14 Martin Schulze <teebaum@cvs.gnome.org>
-
- * sigc++/functors/slot_base.h, sigc++/functors/macros/slot.h.m4:
- Move some documentation to slot_base.h.
- * sigc++/signal_base.h, sigc++/macros/signal.h.m4:
- Move some documentation to signal_base.h.
-
- API addition:
- * sigc++/functors/macros/slot.h.m4: Add numbered slot# templates.
- Make unnumbered slot templates inherit from slot#.
-
- API change:
- * sigc++/functors/macros/mem_fun.h.m4: Allow for methods of the object's
- base types to be passed into sigc::mem_fun(). (Used to be the case in
- libsigc++-1.2).
-
-2004-02-13 Murray Cumming <murrayc@usa.net>
-
- * sigc++/functors/slot_base.[h|cc], sigc++/trackable.[h|cc]: Create
- and use a typedef for the destroy_notify callback functions, to avoid
- confusion function pointer declaration syntax in the API.
-
-2004-02-13 Murray Cumming <murrayc@murrayc.com>
-
- * Moved implementation to .cc files:
- * sigc++/functors/: Added slot_base.[h|cc] which contains non-template
- code that was previsouly in the generated functors/slot.h and
- non-generated slot.cc files. All non-inline implementation is now in
- the .cc file.
- * sigc++/functors/macros/slot.m4: Removed the code that has been moved
- to slot_base.[h|cc].
- * sigc++/: Added signal_base.[h|cc] which contains non-template code
- that was previously in the generated signal.h and non-generated
- signal.cc file. All non-inline implementation is now in the .cc file.
- * sigc++/macros/signal.m4: Removed the code that ahs been moved to
- signal.cc
- * sigc++/connector.[h|cc]: method implementation moved to the .cc file.
-
-1.9.14:
-
-2004-02-13 Martin Schulze <teebaum@cvs.gnome.org>
-
- * configure.ac: Bump version number to 1.9.14.
- * NEWS: Add ChangeLog summary for version 1.9.14.
-
-2004-02-09 Murray Cumming <murrayc@usa.net>
-
- * sigc++/functors/macros/slot.h.m4: slot_base: Added operator bool(), needed to
- check for a slot that is created with the default constructor. This was
- present in libsigc++ 1.2 also.
-
-2004-02-06 Murray Cumming <murrayc@usa.net>
-
- * Makefile.am: Build the docs directory, by adding it to SUBDIRS.
- * docs/Doxyfile.in: Updated to be more glibmm-like.
- * Added some @deprecated doxygen bits.
- * sigc++/macros/signal.h.m4: Call base constructor from signal_base
- constructor - this is an error-as-warning when building gtkmm.
-
-1.9.13:
-
-2003-11-30 Martin Schulze <teebaum@cvs.gnome.org>
-
- * configure.ac: Bump version number to 1.9.13.
- * NEWS: Add ChangeLog summary for version 1.9.13.
- * Makefile.am, MSVC_Net2003/Makefile.am, configure.ac:
- Distribute MS .Net project files.
- * sigc++/adaptors/macros/[bind,hide].h.m4: Correct and add
- documentation. Make hide_functor ctor explicit.
-
-2003-11-11 Martin Schulze <teebaum@cvs.gnome.org>
-
- * sigc++/adaptors/macros/[bind,hide].h.m4: Change to zero-based
- argument index in numbered bind() and hide() overload
- (Agreement on the mailing list).
- Support binding up to CALL_SIZE arguments with one bind adaptor.
- (Requested by joey yandle and others).
- Only support binding of multiple arguments in unnumberd overloads
- to keep the API simple (Requested by Murray Cumming).
- * tests/test_[bind,hide,functor_trait].cc, sigc++/bind.h:
- Reflect API changes in compatibility module and test cases.
-
-2003-11-10 Martin Schulze <teebaum@cvs.gnome.org>
-
- * sigc++/adaptors/macros/[bind,hide].h.m4: Add unnumbered
- bind() and hide() overloads to make specifying the argument
- position optional (Proposed by Jeff Franks).
- * tests/test_[bind,hide].cc: Test unnumbered bind() and hide().
- * sigc++/adaptors/macros/adaptor_trait.h.m4:
- Change "#ifdef MSVC" to "#ifdef _MSC_VER" (Roel Vanhout).
-
-2003-11-09 Martin Schulze <teebaum@cvs.gnome.org>
-
- * sigc++/functors/macros/slot.h.m4: Change functor type in
- typed_slot_rep to adaptor_trait::adaptor_type<T_functor>
- and use explicit function template instantiation in
- internal::slot_call::call_it(). Avoids copying of arguments
- in call_it() and enables binding of object instances
- to class methods through bind() (Reported by Jeff Franks).
- * tests/test_bind.cc: Test binding object instances to
- class methods through bind().
- * sigc++/adaptors/adaptors.h: Include retype[_result].h.
- * sigc++/adaptors/macros/adaptor_trait.h.m4:
- - Add documentation.
- - Mark some c-tors as explicit.
- - Remove ununsed operator T_functor&() from adaptor_functor.
- * sigc++/adaptors/macros/deduce_result_type.h.m4:
- Rewrite parts of the documentation.
- * sigc++/adaptors/macros/bind.h.m4: Add documentation.
- * sigc++/functors/macros/mem_fun.h.m4: Remove unnecessary
- explicit markers. Minor fixes to documentation.
- * sigc++/functors/macros/functor_trait.h.m4:
- Minor fixes to documentation.
-
-1.9.12:
-
-2003-11-04 Martin Schulze <teebaum@cvs.gnome.org>
-
- * configure.ac: Bump version number to 1.9.12.
- * NEWS: Add ChangeLog summary for version 1.9.12.
-
-2003-11-03 Martin Schulze <teebaum@cvs.gnome.org>
-
- * sigc++/macros/signal.h.m4: Document accumulators.
- Move slot_iterator_buf into namespace internal. Since
- accumulators have the iterator type as a template argument
- there is no need to expose this very internal type.
- * sigc++/functors/macros/*.m4: Regroup documentation.
- Documentation of the core parts of the library should be
- complete by now.
-
-2003-11-02 Martin Schulze <teebaum@cvs.gnome.org>
-
- * Improve documentation of the core parts of the library.
- * tests/test_ptr_fun.cc: Test ptr_fun() with static
- member functions.
-
-2003-11-02 Martin Schulze <teebaum@cvs.gnome.org>
-
- * Move all .m4 files into new subdirectories
- sigc++/[...]/macros. Install the .m4 files on
- "make install" (Reported by Ron Steinke).
-
-2003-11-01 Martin Schulze <teebaum@cvs.gnome.org>
-
- * sigc++/[class,method,object]_slot.h.m4: Include
- sigc++/functors/mem_fun.h (Reported by Ron Steinke).
-
-2003-11-01 Martin Schulze <teebaum@cvs.gnome.org>
-
- * sigc++/adaptors/lambda/operator.h.m4: Add negation
- operator I have completely overlooked until now.
- * sigc++/tests/test_lambda.cc: Test negation operator.
-
-2003-11-01 Martin Schulze <teebaum@cvs.gnome.org>
-
- * sigc++/[class_slot,method_slot,object_slot,hide].h.m4,
- sigc++/signal.h.m4, sigc++/functors/mem_fun.h.m4:
- - Use a shorter notation for ..._mem_function variants.
- - Change order of mem_funcotr<>'s template arguments to
- match std::mem_fun_t and to be more consistent with adaptors.
- - Use ::sigc::slot's implicit ctor in compatibility module.
- * sigc++/adaptors/lambda/operator.h.m4: Change some
- lambda action names to match action names in std.
-
- API addition:
- * sigc++/adaptors/retype.h.m4: New file adding
- adaptor retype.
- * sigc++/Makefile.am: Build and distribute new file.
- * tests/test_retype.cc: New file testing adaptor retype.
- * MSVC_Net2003/tests/test_retype/test_reytype.vcproj,
- tests/Makefile.am: Build and distribute new test case.
-
-2003-11-01 Martin Schulze <teebaum@cvs.gnome.org>
-
- * MSVC_Net2003: New directory containing project
- files for Visual Studio .Net 2003.
- Credits to Roel Vanhout <roel@riks.nl>!
-
-2003-11-01 Martin Schulze <teebaum@cvs.gnome.org>
-
- * sigc++/retype.h.m4: Use LIBSIGC_TEMPLATE_PREFIX
- in explicit function template instantiations.
- * sigc++/type_traits.h: Add template specialization
- for arrays (T_type[N]) to disable non-working member
- type_trait<T_type[N]>::instance().
- * sigc++/visit_each.h: Remove more disturbing
- limit_derived_target<>::operator() overloads.
- (Should have noticed earlier that they are unnecessary.)
- * sigc++/adaptors/deduce_result_type.h.m4,
- sigc++/adaptors/lambda/operator.h.m4,
- sigc++/functors/functor_trait.h.m4,
- tests/test_[bind,compose,exception_catch,hide,lambda].cc:
- Completely removed support for typeof(). We don't need
- it any more and it is completely non-standard!
-
-2003-10-30 Cedric Gustin <cedric.gustin@swing.be>
-
- * configure.ac: Added test of win32 platform. Commented
- out AM_DISABLE_SHARED (DLLs are shared libraries).
- * sigc++/Makefile.am: added a few LDFLAGS for win32
- DLLs.
-
-2003-10-30 Martin Schulze <teebaum@cvs.gnome.org>
-
- * sigc++/signal.h.m4: Add SigC::Signal#<>::slot().
- * sigc++/slot.h.m4: Comment out make_slot() work-around.
- * sigc++/adaptors/bind.h.m4: Remove unnecessary brackets
- in template argument lists. They are confusing MSVC.
- * sigc++/adaptors/*.h.m4, sigc++/adaptors/lambda/*.h.m4:
- Use LIBSIGC_TEMPLATE_PREFIX in explicit function
- template instantiations.
- * sigc++/tests/test_*.cc:
- - Include <string> where std::string is used.
- - Use double instead of float.
-
-2003-10-27 Martin Schulze <teebaum@cvs.gnome.org>
-
- * sigc++/retype.h.m4: Cleanup.
- * TODO: Bring it up to date.
-
-1.9.11:
-
-2003-10-26 Martin Schulze <teebaum@cvs.gnome.org>
-
- * configure.ac: Bump version number to 1.9.11.
- * NEWS: Add ChangeLog summary for version 1.9.11.
-
-2003-10-26 Martin Schulze <teebaum@cvs.gnome.org>
-
- Compatiblity module:
- * sigc++/signal.h.m4: Move definition of compatiblity
- classes SigC::SignalN to here.
- * sigc++/connection.h:
- - Add connection::connected().
- - Add compatibility typedef SigC::Connection.
- * sigc++/bind.h, sigc++/bind_return.h,
- sigc++/class_slot.h.m4, sigc++/hide.h.m4,
- sigc++/method_slot.h.m4, sigc++/object.h,
- sigc++/object_slot.h.m4, sigc++/retype.h.m4,
- sigc++/retype_return.h sigc++/slot.h.m4,
- sigc++/compatibility.h:
- New files to complete compatibility module.
- Split content of compatibility.h.m4 among the new files.
- * sigc++/compatibility.h.m4: Removed.
- * Makefile.am: Build and distribute new files.
- * tests/test_compatibility.cc: Test new stuff.
-
- Fixes:
- * sigc++/functors/slot.h.m4: Fix copy constructor and
- operator=() of slot template.
- * sigc++/adaptors/bind.h.m4: Fix deduce_result_type
- template specializations. bind<0>() probably compiles
- with gcc-3.3, now.
-
-2003-10-26 Martin Schulze <teebaum@cvs.gnome.org>
-
- Fixes:
- * sigc++/functors/slot.{cc,h.m4}:
- - Fix notification process: don't defer detaching of a
- slot from all referred trackables during signal emission!
- - Size optimization: replace virtual functions from
- struct typed_slot_rep with function pointers in slot_rep
- (reduces size of a typical typed_slot_rep instantiation
- by 30% !!!).
- * tests/test_slot.cc: Test sigc::slot more thoroughly.
- * sigc++/functors/mem_fun.h.m4: Fix visit_each().
- * sigc++/adaptos/bind_return.h.m4: Add support for
- sigc::ref().
- * tests/test_bind_return.cc: Use sigc::ref().
- * sigc++/signal.h.m4: Avoid compiler warning about
- uninitialized variable r_ in emit().
- * sigc++/visit_each.h: Cleanup.
-
- API additions:
- * sigc++/adpators/lambda/operators.h.m4: Add
- lambda actions sigc::{reinterpret,static,dynamic}_cast_
- to support explicit parameter conversion.
- * tests/test_lambda.cc: Test sigc::static_cast_.
- * sigc++/adaptors/retype_return.h.m4: New file adding
- adaptor retype_return (and hide_return).
- * sigc++/Makefile.am: Build and distribute new file.
- * tests/test_retype_return.cc: New file testing
- adaptor retype_return (and hide_return).
- * tests/Makefile.am: Build and distribute new test case.
-
-2003-10-25 Martin Schulze <teebaum@cvs.gnome.org>
-
- * sigc++/visit_each.h: Remove disturbing
- limit_derived_target<>::operator() overloads.
- * sigc++/adaptors/bind.h.m4: Add support for sigc::ref().
- * tests/test_bind.cc: Test sigc::ref().
- * sigc++/adaptors/lambda/{operator,group,base}.h.m4:
- - Move support for sigc::ref() from lambda_core<> into
- lambda operator and lambda group creator functions.
- - Add missing visit_each() overload for lambda<> template.
- * tests/test_lambda.cc: Test auto-disconnection.
- TODO: Fix a strange bug that leads to "Bus error"
- during auto-disconnection.
-
-1.9.10:
-
-2003-10-23 Martin Schulze <teebaum@cvs.gnome.org>
-
- * configure.ac: Bump version number to 1.9.10.
- * NEWS: Add ChangeLog summary for version 1.9.10.
-
-2003-10-23 Martin Schulze <teebaum@cvs.gnome.org>
-
- * sigc++/functors/{functor_trait,slot}.h.m4:
- Move definition of struct nil into functor_trait.h.
-
-2003-10-23 Martin Schulze <teebaum@cvs.gnome.org>
-
- * configure.ac: Disable typeof() compiler checks.
- * sigc++/adaptors/bind.h.m4: Remove unnecessary
- deduce_result_type<> template specializations.
-
-2003-10-20 Martin Schulze <teebaum@cvs.gnome.org>
-
- * sigc++/adaptors/compose.h.m4:
- Correct order of typedefs for good. (Patch from Jeff Franks.)
-
-1.9.9:
-
-2003-10-20 Martin Schulze <teebaum@cvs.gnome.org>
-
- * sigc++/connection.h: Add constructor that takes
- a sigc::slot_base& to support 3rd-party slot lists
- like they are used in glibmm/gtkmm.
- * sigc++/functors/slot.h.m4: Make sigc::slot::call_type public.
- (Fixes compile problems reported by Jeff Franks.)
- * sig++/type_traits.h: Don't use long long in
- sigc::is_base_and_derived.
- (Fixes compile problems reported by Jeff Franks.)
- * sigc++/adaptors/{bind,compose,hide,exception_catch}.h.m4:
- Correct order of typedefs. (Repoted by Jeff Franks.)
- * configure.ac: Bump version number to 1.9.9.
- * NEWS: Add ChangeLog summary for version 1.9.9.
-
-1.9.8:
-
-2003-10-19 Martin Schulze <teebaum@cvs.gnome.org>
-
- * sigc++/functors/slot.h.m4: Define doxygen group functors.
- * configure.ac: Bump version number to 1.9.8.
- * NEWS: Add ChangeLog summary for version 1.9.8.
-
-2003-10-19 Martin Schulze <teebaum@cvs.gnome.org>
-
- * NEWS: Add announces of versions 1.9.6 and 1.9.7.
- * sigc++/compatibility.h.m4: New file. Defines namespace SigC.
- namespace SigC should be API compatible to libsigc++-1.2.
- * sigc++/Makefile.am: Build compatibility.h.
- * tests/test_compatibility.cc, tests/Makefile.am:
- Add test case for compatibility module.
- * docs/index.html: Change group names.
- * sigc++/sigc++.h: Include connection.h.
- * sigc++/connection.{cc,h}:
- - Rename dependency to destroy_notify_callback.
- - Change parameter name in set_slot() from d to data.
- - Fix operator=(): Add "return *this;"
- - Get rid of namespace functor.
- - Corrections in documentation.
- * sigc++/signal.{cc,h.m4}:
- - Add reference counter to signal_impl. Replaces "bool destroy_".
- - Move signal_base, slot_iterator[_buf], slot_list out of
- namespace internal. They are part of the public API.
- - Add convenience function signal#::make_slot().
- - Get rid of namespace functor.
- - Corrections in documentation.
- * sigc++/trackable.{cc,h}:
- - Rename dependency to destroy_notify_callback.
- - Rename trackable::clear() to trackable::notify_callbacks().
- - Corrections in documentation.
- * sigc++/type_traits.h: Add documentation.
- * sigc++/visit_each.h:
- - Get rid of namespace functor.
- - Add documentation.
- * sigc++/adaptors[/lambda]/*: Get rid of namespace functor.
- * sigc++/functors/{functor_trait.h,ptr_fun.h.m4,mem_fun.h.m4}:
- - Get rid of namespace functor.
- - Corrections in documentation / add documentation.
- * sigc++/functors/slot.{cc,h.m4}:
- - Move slot_base out of namespace internal. It's public API.
- - Get rid of one-letter-parameter-names.
- - Get rid of namespace functor.
- - Corrections in documentation.
- * tests/*.cc: Get rid of "using namespace ...".
-
-2003-09-10 Martin Schulze <teebaum@cvs.gnome.org>
-
- * sigc++/adaptors/lambda/{base,operators}.h.m4:
- Add subscript ([]) and assign (=) operator. I think there are now
- enough operators available to make any future power user happy.
- The only one missing is the comma operator and if we added it
- the logical consequence would be to also add if(), switch(), do(),
- etc. lambda expressions which are really out of place in libsigc++.
- * sigc++/type_traits.h: Fix is_base_and_derived<> for const types.
- * tests/test_lambda.cc: Test new operators.
-
-1.9.7:
-
-2003-09-05 Martin Schulze <teebaum@cvs.gnome.org>
-
- * configure.ac: Bump version number to 1.9.7.
-
-2003-09-03 Martin Schulze <teebaum@cvs.gnome.org>
-
- * sigc++/adaptors/lambda/operator.h.m4:
- - Restructure so that the size of the generated source file stays
- reasonable for 34 operators: There are only two lambda templates
- lambda_operator and lambda_operator_unary. The action is an additional
- template parameter. A small template lambda_action[_unary] is specialized
- for all actions.
- - Add most operators that boost::lambda supports. Missing operators are
- "=", "[]", "," and support for pointer arithmetic. I don't know if it's
- worth adding these. In libsigc++, the purpose of lambda operators is to
- provide some extra functionality for the group adaptor.
- * tests/test_lambda.cc:
- Test pre-increment, address and dereference operator.
-
-2003-08-31 Martin Schulze <teebaum@cvs.gnome.org>
-
- * sigc++/reference_wrapper.h, sigc++/type_traits.h, sigc++/Makefile.am:
- New file reference_wrapper.h provides ref() to specify that adaptors/lambdas
- should take a reference to the object passed into ref() instead of a copy.
- * tests/test_lambda.cc:
- - Test group() with mem_fun().
- - Use ref() where lambdas should store references to objects.
- - Test var() and constant().
- * sigc++/adaptors/lambda/base.h.m4:
- - Support ref() in return type deduction.
- - Add var() and constant() which create lambdas for usage with lambda operators.
- * sigc++/adaptors/lambda/operator.h.m4:
- - Fix return type deduction.
- - Remove operator{+,-,*,...} overloads added on 2003-08-29. ref() is way cleaner.
- * sigc++/adaptors/lambda/group.h.m4,
- sigc++/adaptors/bind.h.m4, sigc++/adaptors/compose.h.m4,
- sigc++/adaptors/exception_catch.h.m4, sigc++/adaptors/hide.h.m4:
- Fix return type deduction.
-
-2003-08-29 Martin Schulze <teebaum@cvs.gnome.org>
-
- * tests/test_lambda.cc: Add more tests.
- * sigc++/adaptors/lambda/select.h.m4, sigc++/adaptors/lambda/lambda.cc.m4:
- Make _1, _2, ... constant.
- * sigc++/adaptors/lambda/operator.h.m4:
- Add operator{+,-,*,...} overloads to distinguish between const and non-const objects.
- Store references to non-const objects rather than copies.
- This allows expressions like e.g. std::cout << _1.
- * sigc++/adaptors/lambda/base.h.m4, sigc++/adaptors/lambda/group.h.m4:
- Remove void specializations. Functors returning void are tested and work fine.
-
-2003-08-27 Martin Schulze <teebaum@cvs.gnome.org>
-
- * tests/test_callof.cc, tests/test_deduce_result_type.cc:
- Rename, correct and improve this test case.
- * tests/Makefile.am: Build and run test_deduce_result_type
- instead of test_callof.
-
-2003-08-27 Martin Schulze <teebaum@cvs.gnome.org>
-
- * Update TODO.
-
-2003-08-27 Martin Schulze <teebaum@cvs.gnome.org>
-
- * sigc++/adaptors/hide.h.m4: Remove usage of callof_ignore_arg<>.
- * sigc++/callof.h.m4, sigc++/adaptors/deduce_result_type.h.m4,
- sigc++/functors/functor_trait.h.m4:
- Remove the first and move deduce_result_type templates from
- functor_trait.h.m4 into new file deduce_result_type.h.m4.
- * sigc++/Makefile.am, sigc++/sigc++.h, sigc++/adaptors/adaptor_trait.h.m4:
- Build and include sigc++/adaptors/deduce_result_type.h instead of callof.h.
- * sigc++/functors/slot.h.m4: Document struct nil.
-
-2003-08-24 Martin Schulze <teebaum@cvs.gnome.org>
-
- * sigc++/functors/functor_trait.h.m4: Simplify usage of convenience
- macro SIGC_FUNCTORS_HAVE_RESULT_TYPE:
- namespace sigc{ namespace functor{ SIGC_FUNCTORS_HAVE_RESULT_TYPE }}
-
-2003-08-24 Martin Schulze <teebaum@cvs.gnome.org>
-
- * sigc++/functors/functor_trait.h,m4, sigc++/adaptors[/lambda]/*.h.m4:
- Merge adaptor return type deduction and typeof() into
- sigc::functor::deduce_result_type. Use it for all adaptors.
- * tests/test_compose.cc: Only test multi-type get-functor if
- typeof() if supported.
-
-2003-08-24 Martin Schulze <teebaum@cvs.gnome.org>
-
- * sigc++/adaptors[/lambda]/*.h.m4:
- - Remove unnecessary void specializations. In fact, only the one
- for sigc::functor::exception_catch<> is needed and I don't really
- understand why. For the lambda stuff the void specializatoins are
- just commented out at the moment.
- - Make typeof() optional. Surprisingly, I got the lambda stuff working
- without typeof()! The test suite doesn't catch all cases yet, so maybe
- some thing are still not working.
- TODO: Implement configure check.
- * tests/test_bind.cc, tests/test_compose.cc tests/test_exception_catch.cc,
- tests/test_hide.cc, tests/test_lambda.cc:
- Only test multiple functor return types if typeof() is supported.
-
-2003-08-06 Martin Schulze <teebaum@cvs.gnome.org>
-
- * sigc++/trackable.{cc,h}: Add function trackable::clear().
-
-2003-06-24 Andreas Rottmann <rottmann@users.sourceforge.net>
-
- * TODO: Minor tweaks.
-
-2003-06-23 Andreas Rottmann <rottmann@users.sourceforge.net>
-
- * docs/reference/Doxyfile.in: Use these variables.
- * docs/reference/Makefile.am (html/index.html): Provide doxygen
- with SRCDIR and TOP_SRCDIR environment variables.
-
- * sigc++/functors/slot.h.m4: Make slot::call_type typedef public;
- this fixes a g++ 3.3 error in signal.h.
-
- * sigc++/signal.h.m4: Make the signal::accumulated class public;
- this fixes a g++ 3.3 error in test_accumulated.cc.
-
-2003-06-15 Martin Schulze <teebaum@cvs.gnome.org>
-
- * sigc++/functor/slot.h.m4: Correct typing error in docs.
- * sigc++/functor/ptr_fun.h.m4: Document the whole thing.
-
-2003-05-31 Murray Cumming <murrayc@usa.net>
-
- * Reference documentation: Rearranged the groups to make it all
- a bit more like the libsigc++ 1.2 reference documentation.
- Corrected some spelling and grammar too.
- This needs a lot of work. The text is very hard to read and it's
- generally not appropriate for a user of the code who doesn't
- care about the internals. But it's not impossible - our examples
- should show us what we need to say in the documentation.
- We probably need some more groups for the extra stuff, like we do
- in libsigc++ 1.2.
-
-2003-05-29 Martin Schulze <teebaum@cvs.gnome.org>
-
- * sigc++/signal.h.m4: Fix documentation.
- * sigc++/connection.h, sigc++/functor/slot.h.m4:
- Document the whole thing.
-
-2003-05-29 Martin Schulze <teebaum@cvs.gnome.org>
-
- * sigc++/signal.h.m4:
- - Remove bogus operator() from unnumbered signal<> and
- signal<>::accumulated templates.
- - Document the whole thing.
-
- * docs/index.html: Fix some links.
-
-2003-04-06 Martin Schulze <MHL.Schulze@t-online.de>
-
- * TODO, configure.ac, Makefile.am, docs/*:
- Add Doxygen framework.
-
-2003-04-06 Martin Schulze <MHL.Schulze@t-online.de>
-
- * sigc++/callof.h.m4, sigc++/adaptors/*, tests/test_callof.cc:
- Move sigc::callof<> to sigc::functor::internal::callof<>.
-
- * sigc++/functors/mem_fun.h.m4, tests/test_mem_fun.cc:
- Add new types [bound_][const_]volatile_mem_functor, visit_each()
- and mem_fun() overloads for volatile qualifier.
- Add ctor overloads in bound_*mem_functor and mem_fun() overloads
- that take reference instead of pointer.
-
-2003-03-26 Martin Schulze <MHL.Schulze@t-online.de>
-
- * Change "closure" to "slot" throughout sigc++2 (file names,
- class names, member variables, documentation, etc.).
-
-2003-03-26 Martin Schulze <MHL.Schulze@t-online.de>
-
- * TODO: Rewrite to reflect recent changes as well as recent discussions.
-
-2003-03-24 Martin Schulze <MHL.Schulze@t-online.de>
-
- * sigc++/adaptors/bind_return.h.m4: Make the adaptor's data member
- public so that visit_each() can access it.
-
- * sigc++/adaptors/lambda/*.h.m4: More fixes. Add a note about
- malfunctioning typeof() (probably compiler bug in gcc-3.2).
-
- * tests/*.cc: Test references. Fix compose equivalent in test_lambda.
-
-2003-03-24 Martin Schulze <MHL.Schulze@t-online.de>
-
- * sigc++/Makefile.am, sigc++/functors/functor_trait.h[.m4],
- sigc++/adaptors/adaptor_trait.h.m4: Move detection of function
- and member method pointers' return types from adaptor_trait into
- functor_trait. (We'll use functor_trait rather than adaptor_trait for
- our lambda stuff.) functor_trait.h needs to be generated from .m4 now.
-
- * sigc++/functors/functor_trait.h.m4: Add convenience macros:
- - SIGC_FUNCTORS_HAVE_RESULT_TYPE indicates that the existance of
- T_functor::result_type should be assumed for all unknown functors.
- - SIGC_FUNCTOR_TRAIT(T_functor, T_result) explicitly specifies the
- result type of a functor.
- ("typename functor_trait<T_functor>::result_type") is used to
- determine the return type of our adaptors' operator()() overloads.
-
- * sigc++/adaptors/[lambda/]*.h.m4: Various fixes in visit_each() and
- operator()() overloads to make these operator()() overloads usable.
- Most of them were just commented out before. Some adaptor types also
- have void specializations, now.
-
- * sigc++/adaptors/lambda/group.h.m4: Change syntax from
- "[some_functor] % grp([args])" to "group([some_functor], [args])"
- like we agreed on the ml some time ago.
-
- * sigc++/tests/test_[all adaptors].cc: Test stuff that didn't work
- before.
-
-2003-03-22 Murray Cumming <murrayc@usa.net>
-
- * Added pgk-config file, from a mystery person in bug #108857
-
-2003-03-22 Martin Schulze <MHL.Schulze@t-online.de>
-
- * tests/test_bind.cc: Test and show how to use functor_trait
- for user defined or 3rd-party functors so that a
- bind<0>([functor],[arg1])() call with no arguments can return a value.
-
-2003-03-20 Martin Schulze <MHL.Schulze@t-online.de>
-
- * sigc++/callof.h.m4: Add explanations. Comment in / create templates
- callof_safe[#]. Unfortunately they don't work for functors with overloaded
- operator() so we don't use it for now. At least everything is documented.
-
- * sigc++/functors/functor_trait.h, sigc++/functors/*.h.m4: Add back
- functor_base compiler hint. We're using it now in adaptor_functor<>.
-
- * sigc++/adaptors/{adaptor_trait,bind}.h.m4: Make operator() overloads
- with no arguments return the result of the functor invocation.
- Fix multiple bind<0>().
- * tests/test_bind.cc: Test the stuff that's working now.
-
-2003-03-16 Murray Cumming <murrayc@usa.net>
-
- * Added sigc++/sigc++.h, like in libsigc++ 1.2
- * examples: Added member_method example, which uses a class method
- and which demonstrates disconnection.
-
-1.9.6:
-
-2003-03-11 Andreas Rottmann <rottmann@users.sourceforge.net>
-
- * sigc++/Makefile.am: Use substitution references instead of
- $(patsubst). Is shorter and fixes the strange-dirs-in-dist-tarball
- bug.
-
-2003-03-09 Martin Schulze <MHL.Schulze@t-online.de>
-
- * sigc++/connection.h: Add block() capability.
-
-2003-03-09 Martin Schulze <MHL.Schulze@t-online.de>
-
- * sigc++/signal.{cc,h.m4}: Add flag signal_impl::destroy_
- and function signal_impl::destroy(). Use them to defer
- the destruction of the signal_impl object during signal
- emission.
-
- * tests/test_disconnect.cc: Add tests for the connection
- class and for deleting signals during emission.
-
-2003-03-09 Martin Schulze <MHL.Schulze@t-online.de>
-
- * sigc++/connection.{cc,h}, sigc++/Makefile.am:
- - New files that add a connection class. Objects of this
- class are constructed from closure list iterators and can
- be used to disconnect the refered closure. As opposed to
- iterators they stay valid beyond the lifetime of the closure.
-
-2003-03-09 Martin Schulze <MHL.Schulze@t-online.de>
-
- * sigc++/functors/closure.{cc,h.m4}, sigc++/signal.cc:
- - Rename closure_{base,rep}::[set_]dependency_ -> [set_]parent_.
- - Make closure_rep inherit trackable. This allows for
- connection objects that stay valid beyond the life time
- of the refered closure.
- - Make some one-line-functions inline again.
-
-2003-03-08 Martin Schulze <MHL.Schulze@t-online.de>
-
- * sigc++/trackable.cc: BUGFIX in trackable_dep_list::clear()
-
-2003-03-08 Andreas Rottmann <rottmann@users.sourceforge.net>
-
- * sigc++/Makefile.am: Rewritten so we can build lambda cleanly.
- * sigc++/Makefile.am_fragment: Removed.
-
- * sigc++/functors/Makfile.am: Removed.
- * sigc++/adaptors/Makefile.am: Removed.
- * sigc++/adaptors/lambda/Makefile.am: Removed.
- * configure.ac (AC_OUTPUT): Remove the above Makefiles.
-
- * tests/Makefile.am: Re-included lambda test.
-
-2003-03-07 Martin Schulze <MHL.Schulze@t-online.de>
-
- * sigc++/signal.{cc,h.m4}:
- - signal_emit#<>: New templates replacing signal#<>::caller.
- The purpose of these templates is implementing the emit
- function and optimizing signal emission for the case that
- no accumulator is used via template specializations.
- - default_accumulator<>: Removed. The default for T_accumulator
- in signal#<> now is nil. An example how to use accumulators
- is available in tests/test_accumulator.cc.
- - signal_{base,impl}: Move the implementation of signal_base's
- interface to signal_impl. An object of this class is
- dynamically allocated when first connecting a closure to
- the signal. This drastically reduces the size of empty signals
- and allows for future addition of a reference counter to make
- it safe to delete a signal during emission.
- - Directly work on closure_rep during signal emission. This
- seems to be quicker than using the closure templates.
- - Document the classes. Restructure the header file a bit.
-
- * sigc++/functors/closure.h.m4: Make closure_base::rep_ data
- member public, so that signal emission can directly work on it.
-
- * tests/test_size.cc: Add an entry for signal_impl.
-
-2003-03-07 Martin Schulze <MHL.Schulze@t-online.de>
-
- * sigc++/functors/closure.{cc,h.m4}:
- - closure_base: BUGFIXES in ~closure_base() and operator=().
- - Mark some functions with the inline keyword. This seems to
- help gcc 3.2 to optimize signal emission and (dis)connection.
- - Document the classes. Restructure the header file a bit.
-
-2003-03-07 Martin Schulze <MHL.Schulze@t-online.de>
-
- * sigc++/trackable.{cc,h}: Make trackable allocate a
- trackable_dep_list object dynamically when adding the first
- dependency. (This reduces the size of objects, that are not
- refered by a closure by 4 bytes (50%) and increases the size
- of objects that are refered by a closure by 4 bytes (50%)
- on a 32 bit architecture => This reduces total memory use
- when >50% of the trackables are not refered by a closure.)
- Document the classes.
-
-2003-03-05 Martin Schulze <MHL.Schulze@t-online.de>
-
- * tests/Makefile.am, tests/test_size.cc, tests/test_accumulated.cc:
- Add two test cases. test_size is showing the size of public and
- internal structures. (Which apart from empty signals are smaller
- than the sizes of the equivalent libsigc++-1.2 structures.)
- test_accumulated is a test for the template signal<>::accumulated<>
- at the same time showing the use of accumulators in libsigc++2.
-
- * Offtopic: My note about binary sizes from 2003-02-10 is wrong.
- Stripped libsigc++2 test binaries are about 8-10k in size.
-
-2003-03-05 Martin Schulze <MHL.Schulze@t-online.de>
-
- * sigc++/visit_each.h: BUGFIX in template specialization
- limit_derive_target<T_Target*,T_action>::with_type<false,T_type>:
- Add non-const overloads for static void execute_() avoiding
- compile time errors.
-
-2003-02-16 Martin Schulze <MHL.Schulze@t-online.de>
-
- * tests/Makefile.am, tests/test_disconnect.cc:
- Add testcase with a mixed connection & disconnection sequence.
-
-2003-02-16 Martin Schulze <MHL.Schulze@t-online.de>
-
- * sigc++/signal.cc: Bugfix in signal_base::insert():
- Set notification function in the newly created copy of
- slot_ rather than in slot_ itself.
-
-2003-02-10 Martin Schulze <MHL.Schulze@t-online.de>
-
- * sigc++/signal.h.m4: Comment in typedefs for iterator types in
- the signal#<> class template. Make signal#<>::connect() return an
- iterator for convenience.
- (Note that the first change increases the binary size of
- tests/test_signal from 201k to 204k, the second change to 206k.)
-
-2003-01-23 Murray Cumming <murrayc@usa.net>
-
- * sigc++/adaptors/lambda is disable temporarily (not built and
- not distributed) because it gets built before its parent
- directory, but #includes generated sources in the parent directory.
-
-2003-01-22 Murray Cumming <murrayc@usa.net>
-
- * Added Andreas Rottman's example.
-
-2003-01-22 Murray Cumming <murrayc@usa.net>
-
- * Applied Andreas Rottman's make dist fixes.
-
-2003-01-14 Murray Cumming <murrayc@usa.net>
-
- * Added whitespace to make the code more readable.
-
diff --git a/libs/sigc++2/INSTALL b/libs/sigc++2/INSTALL
deleted file mode 100644
index a4b34144dc..0000000000
--- a/libs/sigc++2/INSTALL
+++ /dev/null
@@ -1,229 +0,0 @@
-Copyright 1994, 1995, 1996, 1999, 2000, 2001, 2002 Free Software
-Foundation, Inc.
-
- This file is free documentation; the Free Software Foundation gives
-unlimited permission to copy, distribute and modify it.
-
-Basic Installation
-==================
-
- These are generic installation instructions.
-
- The `configure' shell script attempts to guess correct values for
-various system-dependent variables used during compilation. It uses
-those values to create a `Makefile' in each directory of the package.
-It may also create one or more `.h' files containing system-dependent
-definitions. Finally, it creates a shell script `config.status' that
-you can run in the future to recreate the current configuration, and a
-file `config.log' containing compiler output (useful mainly for
-debugging `configure').
-
- It can also use an optional file (typically called `config.cache'
-and enabled with `--cache-file=config.cache' or simply `-C') that saves
-the results of its tests to speed up reconfiguring. (Caching is
-disabled by default to prevent problems with accidental use of stale
-cache files.)
-
- If you need to do unusual things to compile the package, please try
-to figure out how `configure' could check whether to do them, and mail
-diffs or instructions to the address given in the `README' so they can
-be considered for the next release. If you are using the cache, and at
-some point `config.cache' contains results you don't want to keep, you
-may remove or edit it.
-
- The file `configure.ac' (or `configure.in') is used to create
-`configure' by a program called `autoconf'. You only need
-`configure.ac' if you want to change it or regenerate `configure' using
-a newer version of `autoconf'.
-
-The simplest way to compile this package is:
-
- 1. `cd' to the directory containing the package's source code and type
- `./configure' to configure the package for your system. If you're
- using `csh' on an old version of System V, you might need to type
- `sh ./configure' instead to prevent `csh' from trying to execute
- `configure' itself.
-
- Running `configure' takes awhile. While running, it prints some
- messages telling which features it is checking for.
-
- 2. Type `make' to compile the package.
-
- 3. Optionally, type `make check' to run any self-tests that come with
- the package.
-
- 4. Type `make install' to install the programs and any data files and
- documentation.
-
- 5. You can remove the program binaries and object files from the
- source code directory by typing `make clean'. To also remove the
- files that `configure' created (so you can compile the package for
- a different kind of computer), type `make distclean'. There is
- also a `make maintainer-clean' target, but that is intended mainly
- for the package's developers. If you use it, you may have to get
- all sorts of other programs in order to regenerate files that came
- with the distribution.
-
-Compilers and Options
-=====================
-
- Some systems require unusual options for compilation or linking that
-the `configure' script does not know about. Run `./configure --help'
-for details on some of the pertinent environment variables.
-
- You can give `configure' initial values for configuration parameters
-by setting variables in the command line or in the environment. Here
-is an example:
-
- ./configure CC=c89 CFLAGS=-O2 LIBS=-lposix
-
- *Note Defining Variables::, for more details.
-
-Compiling For Multiple Architectures
-====================================
-
- You can compile the package for more than one kind of computer at the
-same time, by placing the object files for each architecture in their
-own directory. To do this, you must use a version of `make' that
-supports the `VPATH' variable, such as GNU `make'. `cd' to the
-directory where you want the object files and executables to go and run
-the `configure' script. `configure' automatically checks for the
-source code in the directory that `configure' is in and in `..'.
-
- If you have to use a `make' that does not support the `VPATH'
-variable, you have to compile the package for one architecture at a
-time in the source code directory. After you have installed the
-package for one architecture, use `make distclean' before reconfiguring
-for another architecture.
-
-Installation Names
-==================
-
- By default, `make install' will install the package's files in
-`/usr/local/bin', `/usr/local/man', etc. You can specify an
-installation prefix other than `/usr/local' by giving `configure' the
-option `--prefix=PATH'.
-
- You can specify separate installation prefixes for
-architecture-specific files and architecture-independent files. If you
-give `configure' the option `--exec-prefix=PATH', the package will use
-PATH as the prefix for installing programs and libraries.
-Documentation and other data files will still use the regular prefix.
-
- In addition, if you use an unusual directory layout you can give
-options like `--bindir=PATH' to specify different values for particular
-kinds of files. Run `configure --help' for a list of the directories
-you can set and what kinds of files go in them.
-
- If the package supports it, you can cause programs to be installed
-with an extra prefix or suffix on their names by giving `configure' the
-option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
-
-Optional Features
-=================
-
- Some packages pay attention to `--enable-FEATURE' options to
-`configure', where FEATURE indicates an optional part of the package.
-They may also pay attention to `--with-PACKAGE' options, where PACKAGE
-is something like `gnu-as' or `x' (for the X Window System). The
-`README' should mention any `--enable-' and `--with-' options that the
-package recognizes.
-
- For packages that use the X Window System, `configure' can usually
-find the X include and library files automatically, but if it doesn't,
-you can use the `configure' options `--x-includes=DIR' and
-`--x-libraries=DIR' to specify their locations.
-
-Specifying the System Type
-==========================
-
- There may be some features `configure' cannot figure out
-automatically, but needs to determine by the type of machine the package
-will run on. Usually, assuming the package is built to be run on the
-_same_ architectures, `configure' can figure that out, but if it prints
-a message saying it cannot guess the machine type, give it the
-`--build=TYPE' option. TYPE can either be a short name for the system
-type, such as `sun4', or a canonical name which has the form:
-
- CPU-COMPANY-SYSTEM
-
-where SYSTEM can have one of these forms:
-
- OS KERNEL-OS
-
- See the file `config.sub' for the possible values of each field. If
-`config.sub' isn't included in this package, then this package doesn't
-need to know the machine type.
-
- If you are _building_ compiler tools for cross-compiling, you should
-use the `--target=TYPE' option to select the type of system they will
-produce code for.
-
- If you want to _use_ a cross compiler, that generates code for a
-platform different from the build platform, you should specify the
-"host" platform (i.e., that on which the generated programs will
-eventually be run) with `--host=TYPE'.
-
-Sharing Defaults
-================
-
- If you want to set default values for `configure' scripts to share,
-you can create a site shell script called `config.site' that gives
-default values for variables like `CC', `cache_file', and `prefix'.
-`configure' looks for `PREFIX/share/config.site' if it exists, then
-`PREFIX/etc/config.site' if it exists. Or, you can set the
-`CONFIG_SITE' environment variable to the location of the site script.
-A warning: not all `configure' scripts look for a site script.
-
-Defining Variables
-==================
-
- Variables not defined in a site shell script can be set in the
-environment passed to `configure'. However, some packages may run
-configure again during the build, and the customized values of these
-variables may be lost. In order to avoid this problem, you should set
-them in the `configure' command line, using `VAR=value'. For example:
-
- ./configure CC=/usr/local2/bin/gcc
-
-will cause the specified gcc to be used as the C compiler (unless it is
-overridden in the site shell script).
-
-`configure' Invocation
-======================
-
- `configure' recognizes the following options to control how it
-operates.
-
-`--help'
-`-h'
- Print a summary of the options to `configure', and exit.
-
-`--version'
-`-V'
- Print the version of Autoconf used to generate the `configure'
- script, and exit.
-
-`--cache-file=FILE'
- Enable the cache: use and save the results of the tests in FILE,
- traditionally `config.cache'. FILE defaults to `/dev/null' to
- disable caching.
-
-`--config-cache'
-`-C'
- Alias for `--cache-file=config.cache'.
-
-`--quiet'
-`--silent'
-`-q'
- Do not print messages saying which checks are being made. To
- suppress all normal output, redirect it to `/dev/null' (any error
- messages will still be shown).
-
-`--srcdir=DIR'
- Look for the package's source code in directory DIR. Usually
- `configure' can determine that directory automatically.
-
-`configure' also accepts some other, not widely useful, options. Run
-`configure --help' for more details.
-
diff --git a/libs/sigc++2/Makefile.am b/libs/sigc++2/Makefile.am
deleted file mode 100644
index 03d67389c6..0000000000
--- a/libs/sigc++2/Makefile.am
+++ /dev/null
@@ -1,30 +0,0 @@
-
-# it includes all the autostuff automatically, you just name the
-# other stuff here
-EXTRA_DIST = autogen.sh sigc++config.h.in libsigc++-2.0.spec.in
-# ACLOCAL_FLAGS = -I scripts
-
-SUBDIRS = sigc++
-DIST_SUBDIRS = $(SUBDIRS)
-
-sigc_configdir = $(libdir)/sigc++-2.0/include
-sigc_config_DATA = sigc++config.h
-
-pkgconfigdir = $(libdir)/pkgconfig
-pkgconfig_DATA = sigc++-2.0.pc
-
-all-local:
- @echo "*** Everything completed ***"
-
-dist-hook:
- @echo; echo; \
- echo "**********************************************************"; \
- echo "* IMPORTANT NOTICE: *"; \
- echo "* *"; \
- echo "* Be sure you have done a complete build before running *"; \
- echo "* 'make dist' or 'make distcheck', because otherwise *"; \
- echo "* the tarball will _not_ contain the dependency rules *"; \
- echo "* generated by the compiler. *"; \
- echo "**********************************************************"; \
- echo; echo \
- cp libsigc++-2.0.spec $(distdir)
diff --git a/libs/sigc++2/NEWS b/libs/sigc++2/NEWS
deleted file mode 100644
index 83c29f5626..0000000000
--- a/libs/sigc++2/NEWS
+++ /dev/null
@@ -1,232 +0,0 @@
-*** libsigc++ 2.0:
-
-libsigc++ implements a typesafe callback system for standard C++. It
-allows you to define signals and to connect those signals to any
-callback function, either global or a member function, regardless of
-whether it is static or virtual.
-
-libsigc++ is used by gtkmm to wrap the GTK+ signal system. It does not depend
-on GTK or gtkmm.
-
-libsigc++ 2.0 uses modern C++ mechanisms to achieve a highly flexible,
-yet typesafe callback system. It supports all features of libsigc++ 1.2
-and improves upon it with a simpler and more powerful API.
-
-This version of libsigc++ needs GNU g++ 3.2 or higher to compile.
-
-
-*** ChangeLog summary:
-
-2.0.6:
-
-* Fixed a memory leak in sigc::slot.
-* Fixed compilation for gcc-3.4.
-* Fixed compilation for Intel C++ compiler (upgraded libtool).
-* Fixed project files for MSVC .Net (Timothy M. Shead).
-* Fixed segfaults when compiled with MSVC .Net 2003 (moved
- all calls to new and delete into non-inline library code).
-* In the compatibility module use correct bound_mem_functor
- variants for const (volatile) methods when creating a slot.
-* Minor documentation fix.
-* Resolved bugs: #152327 #148744 #152323 #151404 #153143
-
-2.0.5:
-
-* Distribute pregenerated configuration header for MSVC .Net.
-
-2.0.4:
-
-* Fixed warnings and compiler errors in the test cases.
-* Added a new test case (Murray Cumming).
-* Fixed 'hello_world' example.
-* Don't test optional features that fail with the Sun FORTE.
-* Fixes for the Sun FORTE to compile out-of-the-box
- (Damien Carbery, Murray Cumming, Martin Schulze).
-* Fixes for MSVC to build a DLL out-of-the-box (James Lin).
-* Improved compiler specific configuration during 'configure'.
-* Added rmp description file libsigc++-2.0.spec (Eric Bourque).
-* Minor documentation improvements (Murray Cumming).
-* Resolved bugs: #147311 #147313 #147391 #144846 #145541
-
-2.0.3:
-
-* Fix segfault on emission of unconnected signal.
-* Test emission of unconnected signals in the test case.
-* Suppress compiler warning at dynamic_cast<>-test for good.
- (Help from Christof Petig and Timothy M. Shead.)
-
-2.0.2:
-
-* Suppress compiler warning in compatibility module at
- dynamic_cast<>-test (fix suggested by Timothy M. Shead).
-* If a custom accumulator is specified invoke it on signal
- emission even if the signal's slot list is empty. (This used
- to be the case in libsigc++-1.2 as pointed out by Timothy.)
-
-2.0.1:
-
-* Fixed serious bug in reference counting in sigc::signal_base::impl().
-* Fixed SigC::Object-derivation check in SigC::slot() compatibility module.
-* Fixed compilation on Apple gcc 3.3 (assisted by Spundun Bhatt).
-* Fixed configure check for gcc 3.4 (Murray Cumming).
-
-2.0.0:
-
-* Implemented sigc::connection::blocked() (Murray Cumming).
-* Added the scripts directory to the make dist target (Murray Cumming).
-* Added more documentation (Martin Schulze).
-
-1.9.16:
-
-* Fixed compiler warning in sigc::connection (Alexander Nedotsukov, Murray Cumming).
-* Fixed examples and made them part of the regular build (Murray Cumming).
-* Added header sigc++config.h for configure time checks (Murray Cumming).
-* Added configure time checks to determine the correct syntax
- for explicit template method specializations (Murray Cumming).
-* Removed code using partial specializations of overloaded template methods
- from test cases. SUN Forte doesn't support this feature (Martin Schulze).
-* Fixed compilation for gcc 3.4 (Murray Cumming).
-
-1.9.15:
-
-API additions:
-* Add numbered slot# templates.
-* Allow for methods of the object's base types to be passed into sigc::mem_fun().
-
-Other fixes and cleanups:
-* Make is_base_and_derived template compatible with the SUN Forte.
-* Non-template code moved from .m4 macro source to .h/.cc files (Murray Cumming).
-* Implementation moved to .cc files (Murray Cumming).
-* More fixes for the SUN Forte. Make some more ctors explicit.
-
-1.9.14:
-
-* Added sigc::slot_base::operator bool() (Murray Cumming).
-* Build docs directory by default (Murray Cumming).
-* Fixed minor doxygen issues (Murray Cumming).
-* Fixed compiler warning in signal.h (Murray Cumming).
-
-1.9.13:
-
-* Fixed passing references through sigc::slot (Reported by Jeff Franks).
-* Enabled binding of objects to method slots through sigc::bind().
-* Reworked sigc::bind() API: Made the template argument for the
- parameter position zero-based and optional. Added overloads for
- binding of up to 7 arguments at a time when no position is specified.
-* Reworked sigc::hide() API: Made the template argument for the
- parameter position zero-based and optional.
-* Fixed compilation problems with MSVC .Net 2003 (Roel Vanhout).
-* Distribute MSVC .Net 2003 project files in the tarballs.
-* Improved and extended documentation.
-* Minor cleanups.
-
-1.9.12:
-
-* Added adaptor retype(). With this final API addition all adaptors
- are in place that are available in libsigc++-1.2.
-* Added negation lambda operator. Use STL names for lambda actions.
-* Remove formerly disabled support for gcc extension typeof().
-* Added project files for MS Visual Studio .Net 2003. (Roel Vanhout)
-* Make libsigc++2 compile with .Net 2003. (Roel Vanhout, Martin Schulze)
-* Build shared version of libsigc++2 by default. (Cedric Gustin)
-* Add support for win32 platform. (Cedric Gustin)
-* Install .m4 files. (requested by Ron Steinke)
-* Cleaned up functors.
-* Restructured and completed documentation of the core library parts.
-
-1.9.11:
-
-API Additions and important bug fixes:
-* Compatibility module completed. libsigc++-1.2 filenames are preserved.
-* Fixed critical bug in auto-disconnection: don't defer detaching
- of a slot from all referred trackables during signal emission.
-* Reduced size of slots significantly.
-* Fixed support for sigc::ref() in adaptors.
-* Fixed sigc::visit_each(): only hit targets that are passed by
- reference; pass bound members in bound_member_functor by reference.
-* Add lambda actions sigc::{reinterpret,static,dynamic}_cast_
- to support explicit parameter conversion.
-* Add adaptors sigc::retype_return<>() and sigc::hide_return().
-
-Minor fixes:
-* Fixed return type deduction for bind<0>.
- libsigc++-1.9.11 should compile with gcc-3.3.
-* Fixed copy constructor and operator=() of slot template.
-* Fixed a compiler warning in signal_emit#<>::emit().
-* Improved test case.
-
-1.9.10:
-
-* Fix compiler issues with gcc-3.3.2 (patch from Jeff Franks).
-* Remove compiler check for the gcc extension typeof().
-* Simplify bind_functor templates.
-* Move definition of struct nil into functor_trait.h.
-
-1.9.9:
-
-* Add a constructor to sigc::connection that takes a slot_base&
- to support user defined slot lists like they are used in gtkmm.
-* Fix compiler issues with gcc-3.3.2 (reported by Jeff Franks).
-
-1.9.8:
-
-* Add compatibility module that defines namespace SigC.
- namespace SigC should be API compatible to libsigc++-1.2.
- Currently only the core parts of the library are supported.
- Adaptors are still to follow.
-* Fix connection::operator=(). Include connection.h in sigc++.h.
-* Get rid of namespace functor.
-* Rename dependency to destroy_notify_callback.
-* Rename trackable::clear() to trackable::notify_callbacks().
-* Move slot_base, signal_base, slot_iterator[_buf], slot_list
- out of namespace internal. They are public API.
-* Add reference counter to signal_impl enabling signals
- to share the underlying information.
-* Add convenience function signal#::make_slot().
-* Get rid of one-letter-parameter-names.
-* Get rid of "using namespace ..." in the test cases.
-* Add lambda operators subscript ([]) and assign (=).
-* Fix is_base_and_derived<> for const types.
-* New and updated documentation.
-* Add previous announces to file NEWS.
-
-1.9.7:
-
-* Added sigc++/sigc++.h. (Murray Cumming)
-* Added member_method example. (Murray Cumming)
-* Renamed closure to slot.
-* Fixed issues with gcc-3.3. (Adreas Rottmann)
-* Removed unnecessary void specializations.
-* Made adaptors' operator()() (overload with no arguments) return a value.
-* Made visit_each() support adaptors.
-* Overhauled return type deduction to make it work without typeof().
-* Added convinience macros SIGC_FUNCTORS_HAVE_RESULT_TYPE and
-SIGC_FUNCTOR_TRAIT(T_functor, T_result) to make return type deduction system
-support 3rd-party funtors.
-* Changed syntax of group adaptor from "[functor] % grp([lambdas])" to "group
-([functor], [lambdas])".
-* Made many fixes to lambda functionality.
-* Added var() and constant() lambda creators.
-* Added many lambda operators.
-* Added ref() which creates a reference wrapper to enable storage of
-references in bind and group adaptors.
-* Expanded test suite.
-* Added documentation. (Corrections by Murray Cumming)
-
-1.9.6:
-
-* First public release of the unstable 2.0 generation.
- libsigc++ 2.0 uses modern C++ mechanisms to achieve a highly
- flexible, yet typesafe callback system. It supports all features of
- libsigc++ 1.2 and improves upon it by:
- - No need to specify the number of arguments in signal definitions.
- - Connection of any compatible (=implicitly convertable) functor
- to a signal.
- - Implicit type conversions of parameters during signal emission.
- - Lambda adaptor for complete restructuring of functor parameter
- lists in one line (subject to changes).
- - Signal has a fully featured stl style list interface.
- - A convinient accumulator API (replacing the old marshaller API).
- - Removal of unnecessary memory management functionality.
- - Lightweight class "trackable" for use as base class of your
- class hierarchy replaces class "Object".
diff --git a/libs/sigc++2/README b/libs/sigc++2/README
deleted file mode 100644
index f90f8f055a..0000000000
--- a/libs/sigc++2/README
+++ /dev/null
@@ -1,72 +0,0 @@
-libsigc++ -- The Typesafe Callback Framework for C++
-
-
-General information:
-
- libsigc++ implements a typesafe callback system for standard C++. It
- allows you to define signals and to connect those signals to any
- callback function, either global or a member function, regardless of
- whether it is static or virtual.
-
- libsigc++ is used by gtkmm to wrap the GTK+ signal system. It does not
- depend on GTK or gtkmm.
-
- Further information about the major release 2.0 is available on the
- libsigc++ project home page: http://libsigc.sourceforge.net/
-
-
-License information:
-
- Distribution of library and components is under the LGPL as listed in the
- file COPYING. Examples and tests are Public Domain.
-
-
-Contact information:
- Maintainer: mailto: mschulze@cvs.gnome.org
- Maillist: mailto: libsigc-list@gnome.org
- Homepage: http://libsigc.sourceforge.net
- Online reference documentation: http://libsigc.sourceforge.net/libsigc2/docs/
- Ftp: http://ftp.gnome.org/pub/GNOME/sources/libsigc++/2.0/
- CVS:
-
-
-Overview of the distribution:
-
- docs/ documentation on the signal system
- docs/reference/ reference documentation
-
- examples/ examples of various signal functions
-
- sigc++/ source for library
- sigc++/macros/ .m4 files used to auto-generate source files
- sigc++/functors/ source for library (various functors)
- sigc++/functors/macros/ .m4 files used to auto-generate source files
- sigc++/adaptors/ source for library (various adaptors)
- sigc++/adaptors/macros/ .m4 files used to auto-generate source files
- sigc++/adpators/lambda/ source for library (lambda library)
- sigc++/adpators/lambda/macros/ .m4 files used to auto-generate source files
-
- scripts/ automake junk
-
- tests/ programs testing and verifying proper behaviour
-
- MSVC_Net2003/ project files for building the library with MSVC .NET 2003
-
-
-Compatibility:
-
- Compatible compilers must supports the following recent c++ techniques:
- * Partial template (function) specialization.
- * Explicit template (member) function instantiation.
- * Treat void return as normal return.
-
- This release has only been tested with gcc-3.3. It should at least also compile with:
- * gcc >= 3.2
- * cygwin (gcc >= 3.2)
- * mingw32
- * Microsoft Visual Studio .Net 2003
- * Sun Forte C++ compiler >= 5.5
- * Compaq C++ compiler
- * Intel compiler
- Please report any troubles you encounter with these compilers!
- You are also invited to try a compiler that is not listed above.
diff --git a/libs/sigc++2/SConscript b/libs/sigc++2/SConscript
deleted file mode 100644
index 9ac1ef48ee..0000000000
--- a/libs/sigc++2/SConscript
+++ /dev/null
@@ -1,41 +0,0 @@
-# -*- python -*-
-
-import os
-import os.path
-import glob
-
-sigc2_files = glob.glob('sigc++/*.cc') + glob.glob('sigc++/functors/*.cc') + glob.glob('sigc++/adaptors/lambda/*.cc')
-
-Import('env install_prefix')
-sigc2 = env.Clone()
-
-libsigc2 = sigc2.SharedLibrary('sigc++2', sigc2_files)
-
-if os.access ('autogen.sh', os.F_OK) :
- sigc2_configure_script = sigc2.Command ('configure', 'configure.ac', 'cd libs/sigc++2 && ./autogen.sh && cd -', ENV=os.environ)
- sigc2_config_h = sigc2.Command('sigc++config.h', [sigc2_configure_script, 'sigc++config.h.in'], 'cd libs/sigc++2 && ./configure && cd -', ENV=os.environ)
-else :
- sigc2_config_h = sigc2.Command('sigc++config.h', ['configure', 'sigc++config.h.in'], 'cd libs/sigc++2 && ./configure && cd -', ENV=os.environ)
-
-
-Default([sigc2_config_h,libsigc2])
-
-env.Alias('install', env.Install(os.path.join(install_prefix, env['LIBDIR'], 'ardour2'), libsigc2))
-
-env.Alias('tarball', env.Distribute (env['DISTTREE'],
- [ 'NEWS', 'README', 'AUTHORS', 'ChangeLog',
- 'configure', 'configure.ac', 'Makefile.am', 'SConscript',
- 'sigc++/Makefile.in',
- 'sigc++config.h',
- 'sigc++config.h.in',
- 'sigc++-2.0.pc.in',
- 'libsigc++-2.0.spec.in',
- 'install-sh',
- 'Makefile.in',
- 'scripts',
- 'missing',
- ] + sigc2_files +
- glob.glob('sigc++/*.h') +
- glob.glob('sigc++/functors/*.h') + glob.glob('sigc++/adaptors/lambda/*.h') +
- glob.glob('sigc++/adaptors/*.h')
- ))
diff --git a/libs/sigc++2/TODO b/libs/sigc++2/TODO
deleted file mode 100644
index 7ea792aeb0..0000000000
--- a/libs/sigc++2/TODO
+++ /dev/null
@@ -1,66 +0,0 @@
-Compatibility:
-
-- Fix compilation for SUN FORTE C++ 5.5.
-
-
-Configure checks and Makefile issues:
-
-- When you use a single Makefile.am for
- several directories (in sigc++2, all under sigc++/ is ruled by a
- single Makefile.am with the new build system), you have a problem when
- you do a build where $(srcdir) != $(builddir), since in the build-tree
- the necessary subdirectories are not created. So I have to find a
- place where to create this directories, in case they do not exist.
- This is only an issue for clean CVS checkouts, however (Andy)
-
-
-sigc++-1.2 compatibility:
-
-- Verify completeness.
-
-
-documentation:
-
-- Improve documentation: Make groups (see index.html). Exclude stuff to make
- the html output readable.
-
-- Add documentation for adaptors and accumulators.
-
-
-basic functionality:
-
-- I don't understand what is meant by "stl-pointer-like functions" (Martin):
-
- slot should have the full set of stl pointer like functions. (Karl Nelson)
-
-
-lambda functionality (I don't understand this (Martin)):
-
-- Add support for _R to force references down into
- the stack frame of lambda. Ie.
-
- A a;
- (_1+_2)(1,a); // fail if no "operator int() const"
-
-- Call groups in lambda. (Huh, that appears to be in group?)
-
-
-Old TODO's that should be almost finished (Martin):
-
-- Fine-tooth comb the code looking for missing operator =() function
- and missing copy constructors.
-
-- Improve and expand the test suite. There are a lot of combinations which
- should be valid but haven't been tested which are likely to result in
- wierd compiler errors if something wasn't done consistantly.
-
-
-Old TODO's that should be finished (Martin):
-
-- Improve signal#, it currently is just barely functional.
-- Add iterator support and stl like functionality to signal.
-
-- Add blocking capablity to slot.
-
-- Deinline/move to .cc where possible to move functions into the
- library to reduce resulting binary size.
diff --git a/libs/sigc++2/autogen.sh b/libs/sigc++2/autogen.sh
deleted file mode 100755
index 09597765c6..0000000000
--- a/libs/sigc++2/autogen.sh
+++ /dev/null
@@ -1,39 +0,0 @@
-#! /bin/sh
-
-# check all tools first
-
-if /usr/bin/which libtoolize >/dev/null 2>&1 ; then
- :
-else
- echo "You do not have libtool installed, which is very sadly required to build part of Ardour"
- exit 1
-fi
-if /usr/bin/which automake >/dev/null 2>&1 ; then
- :
-else
- echo "You do not have automake installed, which is very sadly required to build part of Ardour"
- exit 1
-fi
-if /usr/bin/which autoconf >/dev/null 2>&1 ; then
- :
-else
- echo "You do not have autoconf installed, which is very sadly required to build part of Ardour"
- exit 1
-fi
-
-srcdir=`dirname $0`
-test -z "$srcdir" && srcdir=.
-
-#echo "Adding libtools."
-#libtoolize --automake --copy --force
-
-echo "Building macros."
-aclocal -I "$srcdir/scripts" $ACLOCAL_FLAGS
-
-echo "Building makefiles."
-automake --add-missing --copy
-
-echo "Building configure."
-autoconf
-
-rm -f config.cache
diff --git a/libs/sigc++2/configure.ac b/libs/sigc++2/configure.ac
deleted file mode 100644
index 3cb4724ba5..0000000000
--- a/libs/sigc++2/configure.ac
+++ /dev/null
@@ -1,64 +0,0 @@
-dnl Configure.in
-dnl
-dnl Source for generating compiler independent libraries.
-dnl
-
-dnl INIT is required name a file which is unique to the package
-dnl just to prevent someone from copying the configure to the wrong package.
-AC_INIT(sigc++)
-
-dnl This version stuff is just for the packaging section of the tool.
-dnl thus make format_package-0.0.1.tar.gz
-FP_MAJOR_VERSION=2
-FP_MINOR_VERSION=0
-FP_MICRO_VERSION=6
-FP_VERSION=$FP_MAJOR_VERSION.$FP_MINOR_VERSION.$FP_MICRO_VERSION
-
-dnl For automake.
-VERSION=$FP_VERSION
-PACKAGE=libsigc++
-
-dnl Initialize automake stuff
-AM_INIT_AUTOMAKE($PACKAGE, $VERSION)
-
-dnl Specify a configuration file:
-AC_CONFIG_HEADER(sigc++config.h)
-
-dnl disable autoheader
-AUTOHEADER=':'
-
-dnl Maintainer support (autodependencies and packaging)
-AM_MAINTAINER_MODE
-
-dnl Using C compiler
-AC_PROG_CC
-AC_PROG_CPP
-
-dnl Using libtool
-AC_CONFIG_MACRO_DIR(scripts)
-dnl LT_INIT
-dnl AM_PROG_LIBTOOL
-
-dnl Using C++ compiler
-AC_PROG_CXX
-AC_LANG_CPLUSPLUS
-
-SIGC_CXX_GCC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD()
-
-if test "X$config_error" = "Xyes" ; then
- AC_ERROR(
-[One or more of the required compiler features is missing.
-If you believe this is in error, please consult the config.log file
-for further details.
-])
-fi
-
-
-# Generate output
-AC_OUTPUT([
- Makefile
- sigc++-2.0.pc
-
- sigc++/Makefile
- libsigc++-2.0.spec
-])
diff --git a/libs/sigc++2/libsigc++-2.0.spec.in b/libs/sigc++2/libsigc++-2.0.spec.in
deleted file mode 100644
index 7dc756c6ce..0000000000
--- a/libs/sigc++2/libsigc++-2.0.spec.in
+++ /dev/null
@@ -1,91 +0,0 @@
-Summary: The Typesafe Signal Framework for C++
-Name: @PACKAGE@
-Version: @VERSION@
-Release: 1
-License: LGPL
-Group: System Environment/Libraries
-Packager: Eric Bourque <ericb@computer.org>
-URL: http://libsigc.sourceforge.net/
-Source0: http://ftp.gnome.org/pub/GNOME/sources/libsigc++/2.0/%{name}-%{version}.tar.bz2
-BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
-
-%description
-
-This library implements a full callback system for use in widget
-libraries, abstract interfaces, and general programming. Originally
-part of the Gtk-- widget set, %name is now a seperate library to
-provide for more general use. It is the most complete library of its
-kind with the ablity to connect an abstract callback to a class
-method, function, or function object. It contains adaptor classes for
-connection of dissimilar callbacks and has an ease of use unmatched by
-other C++ callback libraries.
-
-Package GTK-- (gtkmm), which is a C++ binding to the GTK+ library,
-starting with version 1.1.2, uses %name.
-
-Due to C++ ABI changes, this will only work with the gcc version which
-the distribution was supplied with. If you got your rpm from any
-previous version, please rebuild from spec!
-
-%package devel
-Summary: Development tools for the Typesafe Signal Framework for C++
-Group: Development/Libraries
-Requires: %name = %version
-
-%description devel
-The %name-devel package contains the static libraries and header files
-needed for development with %name.
-
-%package examples
-Summary: Examples and tests for the Typesafe Signal Framework for C++
-Group: Development/Libraries
-Requires: %name-devel = %version
-
-%description examples
-The %name-devel package contains source code of
-example and test programs for %name.
-
-
-%prep
-%setup -q
-
-%build
-./configure --prefix=/usr
-make
-
-%install
-rm -rf $RPM_BUILD_ROOT
-make DESTDIR=$RPM_BUILD_ROOT install
-mkdir -p -m 755 $RPM_BUILD_ROOT/%{_libdir}/sigc++-2.0
-cp -a examples tests $RPM_BUILD_ROOT/%{_libdir}/sigc++-2.0
-
-%post -p /sbin/ldconfig
-
-%postun -p /sbin/ldconfig
-
-%clean
-rm -rf $RPM_BUILD_ROOT
-
-
-%files
-%defattr(-,root,root,-)
-%{_libdir}/libsigc*.so*
-%doc /usr/share/doc/libsigc-2.0
-
-%files devel
-/usr/include/sigc++-2.0
-%{_libdir}/pkgconfig/*
-%{_libdir}/libsigc*.a
-%{_libdir}/libsigc*.la
-%dir %{_libdir}/sigc++-2.0
-%dir %{_libdir}/sigc++-2.0/include
-%{_libdir}/sigc++-2.0/include/sigc++config.h
-
-%files examples
-%{_libdir}/sigc++-2.0/examples
-%{_libdir}/sigc++-2.0/tests
-
-%changelog
-* Tue Jun 29 2004 Eric Bourque <ericb@computer.org> - 2.0-1
-- Initial build.
-
diff --git a/libs/sigc++2/scripts/cxx.m4 b/libs/sigc++2/scripts/cxx.m4
deleted file mode 100644
index 8753b53827..0000000000
--- a/libs/sigc++2/scripts/cxx.m4
+++ /dev/null
@@ -1,94 +0,0 @@
-dnl
-dnl SIGC_CXX_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD()
-dnl
-dnl
-AC_DEFUN([SIGC_CXX_GCC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD],[
-AC_MSG_CHECKING([if C++ compiler supports the use of a particular specialization when calling operator() template methods.])
-AC_TRY_COMPILE(
-[
- #include <iostream>
-
- class Thing
- {
- public:
- Thing()
- {}
-
- template <class T>
- void operator()(T a, T b)
- {
- T c = a + b;
- std::cout << c << std::endl;
- }
- };
-
- template<class T2>
- class OtherThing
- {
- public:
- void do_something()
- {
- Thing thing_;
- thing_.template operator()<T2>(1, 2);
- //This fails with or without the template keyword, on SUN Forte C++ 5.3, 5.4, and 5.5:
- }
- };
-],
-[
- OtherThing<int> thing;
- thing.do_something();
-],
-[
- sigcm_cxx_gcc_template_specialization_operator_overload=yes
- AC_DEFINE([SIGC_GCC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD],[1],[does the C++ compiler support the use of a particular specialization when calling operator() template methods.])
- AC_MSG_RESULT([$sigcm_cxx_gcc_template_specialization_operator_overload])
-],[
- sigcm_cxx_gcc_template_specialization_operator_overload=no
- AC_MSG_RESULT([$sigcm_cxx_gcc_template_specialization_operator_overload])
-])
-])
-AC_DEFUN([SIGC_CXX_MSVC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD],[
-AC_MSG_CHECKING([if C++ compiler supports the use of a particular specialization when calling operator() template methods omitting the template keyword.])
-AC_TRY_COMPILE(
-[
- #include <iostream>
-
- class Thing
- {
- public:
- Thing()
- {}
-
- template <class T>
- void operator()(T a, T b)
- {
- T c = a + b;
- std::cout << c << std::endl;
- }
- };
-
- template<class T2>
- class OtherThing
- {
- public:
- void do_something()
- {
- Thing thing_;
- thing_.operator()<T2>(1, 2);
- //This fails with or without the template keyword, on SUN Forte C++ 5.3, 5.4, and 5.5:
- }
- };
-],
-[
- OtherThing<int> thing;
- thing.do_something();
-],
-[
- sigcm_cxx_msvc_template_specialization_operator_overload=yes
- AC_DEFINE([SIGC_MSVC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD],[1],[does the C++ compiler support the use of a particular specialization when calling operator() template methods omitting the template keyword.])
- AC_MSG_RESULT([$sigcm_cxx_msvc_template_specialization_operator_overload])
-],[
- sigcm_cxx_msvc_template_specialization_operator_overload=no
- AC_MSG_RESULT([$sigcm_cxx_msvc_template_specialization_operator_overload])
-])
-])
diff --git a/libs/sigc++2/scripts/libtool.m4 b/libs/sigc++2/scripts/libtool.m4
deleted file mode 100644
index 1ceda32823..0000000000
--- a/libs/sigc++2/scripts/libtool.m4
+++ /dev/null
@@ -1,5767 +0,0 @@
-# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
-
-m4_define([_LT_COPYING], [dnl
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004
-# Free Software Foundation, Inc.
-#
-# This file is part of GNU Libtool:
-# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program 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
-# General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-#
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-])
-
-# serial 49 LT_INIT
-
-
-# LT_PREREQ(VERSION)
-# ------------------
-# Complain and exit if this libtool version is less that VERSION.
-m4_define([LT_PREREQ],
-[m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1,
- [m4_default([$3],
- [m4_fatal([Libtool version $1 or higher is required],
- 63)])],
- [$2])])
-
-
-# LT_INIT([OPTIONS])
-# --------------------------
-AC_DEFUN([LT_INIT],
-[AC_PREREQ([2.58])dnl We use AC_INCLUDES_DEFAULT
-dnl Autoconf doesn't catch unexpanded LT_ macros by default:
-m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl
-m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW)$])dnl
-dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4
-dnl unless we require an AC_DEFUNed macro:
-AC_REQUIRE([LTOPTIONS_VERSION])dnl
-AC_REQUIRE([LTSUGAR_VERSION])dnl
-AC_REQUIRE([LTVERSION_VERSION])dnl
-AC_REQUIRE([_LT_PROG_LTMAIN])dnl
-AC_BEFORE([$0], [LT_LANG])dnl
-
-# This can be used to rebuild libtool when needed
-LIBTOOL_DEPS="$ltmain"
-
-# Always use our own libtool.
-LIBTOOL='$(SHELL) $(top_builddir)/libtool'
-AC_SUBST(LIBTOOL)dnl
-
-# Set options
-_LT_SET_OPTIONS([$1])dnl
-
-_LT_SETUP
-
-# Only expand once:
-m4_define([LT_INIT])
-])# _LT_INIT
-
-# Old names:
-AU_DEFUN([AC_PROG_LIBTOOL], [LT_INIT])
-AU_DEFUN([AM_PROG_LIBTOOL], [LT_INIT])
-
-
-# _LT_SETUP
-# ---------
-m4_define([_LT_SETUP],
-[AC_REQUIRE([AC_CANONICAL_HOST])dnl
-AC_REQUIRE([AC_CANONICAL_BUILD])dnl
-_LT_DECL([], [host_alias], [0], [The host system])dnl
-_LT_DECL([], [host], [0])dnl
-dnl
-AC_REQUIRE([AC_PROG_CC])dnl
-AC_REQUIRE([AC_PROG_LD])dnl
-AC_REQUIRE([AC_PROG_LD_RELOAD_FLAG])dnl
-AC_REQUIRE([AC_PROG_NM])dnl
-dnl
-AC_REQUIRE([AC_PROG_LN_S])dnl
-test -z "$LN_S" && LN_S="ln -s"
-_LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl
-dnl
-AC_REQUIRE([AC_DEPLIBS_CHECK_METHOD])dnl
-AC_REQUIRE([AC_LIBTOOL_SYS_OLD_ARCHIVE])dnl
-AC_REQUIRE([AC_LIBTOOL_SYS_MAX_CMD_LEN])dnl
-AC_REQUIRE([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])dnl
-AC_REQUIRE([AC_OBJEXT])dnl
-_LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl
-AC_REQUIRE([AC_EXEEXT])dnl
-_LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl
-dnl
-
-_LT_CONFIG_LIBTOOL_INIT([
-# See if we are running on zsh, and set the options which allow our
-# commands through without removal of \ escapes INIT.
-if test -n "\${ZSH_VERSION+set}" ; then
- setopt NO_GLOB_SUBST
-fi
-])
-if test -n "${ZSH_VERSION+set}" ; then
- setopt NO_GLOB_SUBST
-fi
-
-AC_LIBTOOL_OBJDIR
-
-AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl
-_LT_AC_PROG_ECHO_BACKSLASH
-
-case $host_os in
-aix3*)
- # AIX sometimes has problems with the GCC collect2 program. For some
- # reason, if we set the COLLECT_NAMES environment variable, the problems
- # vanish in a puff of smoke.
- if test "X${COLLECT_NAMES+set}" != Xset; then
- COLLECT_NAMES=
- export COLLECT_NAMES
- fi
- ;;
-esac
-
-# Sed substitution that helps us do robust quoting. It backslashifies
-# metacharacters that are still active within double-quoted strings.
-Xsed='sed -e s/^X//'
-[sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g']
-
-# Same as above, but do not quote variable references.
-[double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g']
-
-# Sed substitution to delay expansion of an escaped shell variable in a
-# double_quote_subst'ed string.
-delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
-
-# Sed substitution to delay expansion of an escaped single quote.
-delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
-
-# Sed substitution to avoid accidental globbing in evaled expressions
-no_glob_subst='s/\*/\\\*/g'
-
-# Constants:
-rm="rm -f"
-
-# Global variables:
-default_ofile=libtool
-ofile="$default_ofile"
-can_build_shared=yes
-
-# All known linkers require a `.a' archive for static linking (except M$VC,
-# which needs '.lib').
-libext=a
-
-with_gnu_ld="$lt_cv_prog_gnu_ld"
-
-old_CC="$CC"
-old_CFLAGS="$CFLAGS"
-
-# Set sane defaults for various variables
-test -z "$CC" && CC=cc
-test -z "$LTCC" && LTCC=$CC
-test -z "$LD" && LD=ld
-test -z "$ac_objext" && ac_objext=o
-
-cc_basename=`$echo X"$compiler" | $Xsed -e 's%^.*/%%'`
-
-# Only perform the check for file, if the check method requires it
-test -z "$MAGIC_CMD" && MAGIC_CMD=file
-case $deplibs_check_method in
-file_magic*)
- if test "$file_magic_cmd" = '$MAGIC_CMD'; then
- AC_PATH_MAGIC
- fi
- ;;
-esac
-
-AC_ARG_ENABLE([libtool-lock],
- [AC_HELP_STRING([--disable-libtool-lock],
- [avoid locking (might break parallel builds)])])
-test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
-
-# Use C for the default configuration in the libtool script
-_LT_LANG_C_CONFIG
-_LT_LANG_DEFAULT_CONFIG
-_LT_CONFIG_COMMANDS
-])# _LT_SETUP
-
-
-# _LT_PROG_LTMAIN
-# ---------------
-# In libtool itself `ltmain.sh' is in the build tree, but everything else
-# ships it in the source tree, for completeness, if we find a copy in the
-# build tree use that before falling back to auxdir.
-#
-# Note that this code is called both from `configure', and `config.status'
-# now that we use AC_CONFIG_COMMANDS to generate libtool. Notably,
-# `config.status' has no value for ac_aux_dir unless we are using Automake,
-# so we pass a copy along to make sure it has a sensible value anyway.
-AC_DEFUN([_LT_PROG_LTMAIN],
-[_LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir'])
-case $ac_aux_dir in
- $srcdir) ltmain=./ltmain.sh ;;
- $srcdir/*) ltmain=`expr "$ac_aux_dir" : "$srcdir/\(.*\)"`/ltmain.sh ;;
-esac
-test -f "$ltmain" || ltmain="$ac_aux_dir/ltmain.sh"
-])# _LT_PROG_LTMAIN
-
-
-
-## ------------------------------------- ##
-## Accumulate code for creating libtool. ##
-## ------------------------------------- ##
-
-# So that we can recreate a full libtool script including additional
-# tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS
-# in macros and then make a single call at the end using the `libtool'
-# label.
-
-# _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS])
-# ----------------------------------------
-# Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later.
-m4_define([_LT_CONFIG_LIBTOOL_INIT],
-[m4_ifval([$1],
- [m4_append([_LT_OUTPUT_LIBTOOL_INIT],
- [$1
-])])])
-
-# Initialize.
-m4_define([_LT_OUTPUT_LIBTOOL_INIT])
-
-# _LT_CONFIG_LIBTOOL([COMMANDS])
-# ------------------------------
-# Register COMMANDS to be passed to AC_CONFIG_COMMANDS later.
-m4_define([_LT_CONFIG_LIBTOOL],
-[m4_ifval([$1],
- [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS],
- [$1
-])])])
-
-# Initialize.
-m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS])
-
-
-# _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS])
-# ---------------------------------------------------
-m4_define([_LT_CONFIG_SAVE_COMMANDS],
-[_LT_CONFIG_LIBTOOL([$1])
-_LT_CONFIG_LIBTOOL_INIT([$2])
-])
-
-
-# _LT_FORMAT_COMMENT([COMMENT])
-# -----------------------------
-# Add leading comment marks to the start of each line, and a trailing
-# full-stop to the whole comment if one is not present already.
-m4_define([_LT_FORMAT_COMMENT],
-[m4_ifval([$1], [
-m4_bpatsubst([$1], [^ *], [# ])]m4_bmatch([$1], [[!?.]$], [], [.])
-)])
-
-
-
-## ------------------------ ##
-## FIXME: Eliminate VARNAME ##
-## ------------------------ ##
-
-# _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?])
-# -------------------------------------------------------------------
-# CONFIGNAME is the name given to the value in the libtool script.
-# VARNAME is the (base) name used in the configure script.
-# VALUE may be 0, 1 or 2 for a computed quote escaped value based on
-# VARNAME. Any other value will be used directly.
-m4_define([_LT_DECL],
-[lt_if_append_uniq([lt_decl_varnames], [$2], [[, ]],
- [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name],
- [m4_ifval([$1], [$1], [$2])])
- lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3])
- m4_ifval([$4],
- [lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])])
- lt_dict_add_subkey([lt_decl_dict], [$2],
- [tagged?], [m4_ifval([$5], [yes], [no])])])
-])
-
-
-# _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION])
-# --------------------------------------------------------
-m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])])
-
-
-# lt_decl_tag_varnames([SEPARATOR], [VARNAME1...])
-# -------------------------------------------------
-m4_define([lt_decl_tag_varnames],
-[_lt_decl_filter([tagged?], [yes], $@)])
-m4_define([_lt_decl_filter],
-[m4_case([$#],
- [0], [m4_fatal([$0: too few arguments: $#])],
- [1], [m4_fatal([$0: too few arguments: $#: $1])],
- [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)],
- [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)],
- [lt_dict_filter([lt_decl_dict], $@)])[]dnl
-])
-
-
-# lt_decl_quote_varnames([SEPARATOR], [VARNAME1...])
-# ---------------------------------------------------
-m4_define([lt_decl_quote_varnames],
-[_lt_decl_filter([value], [1], $@)])
-
-# lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...])
-# ----------------------------------------------------
-m4_define([lt_decl_dquote_varnames],
-[_lt_decl_filter([value], [2], $@)])
-
-
-# lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...])
-# ----------------------------------------------------
-m4_define([lt_decl_varnames_tagged],
-[_$0(m4_quote(m4_default([$1], [[, ]])),
- m4_quote(m4_if([$2], [],
- m4_quote(lt_decl_tag_varnames),
- m4_quote(m4_shift($@)))),
- m4_split(m4_normalize(m4_quote(_LT_TAGS))))])
-m4_define([_lt_decl_varnames_tagged], [lt_combine([$1], [$2], [_], $3)])
-
-
-# lt_decl_all_varnames([SEPARATOR], [VARNAME1...])
-# ------------------------------------------------
-m4_define([lt_decl_all_varnames],
-[_$0(m4_quote(m4_default([$1], [[, ]])),
- m4_if([$2], [],
- m4_quote(lt_decl_varnames),
- m4_quote(m4_shift($@))))[]dnl
-])
-m4_define([_lt_decl_all_varnames],
-[lt_join($@, lt_decl_varnames_tagged([$1],
- lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl
-])
-
-
-# _LT_CONFIG_STATUS_DECLARE([VARNAME])
-# ------------------------------------
-# Quote a variable value, and forward it to `config.status' so that its
-# declaration there will have the same value as in `configure'. VARNAME
-# must have a single quote delimited value for this to work.
-m4_define([_LT_CONFIG_STATUS_DECLARE],
-[$1='`$echo "X$][$1" | $Xsed -e "$delay_single_quote_subst"`'])
-
-
-# _LT_CONFIG_STATUS_DECLARATIONS
-# ------------------------------
-# We delimit libtool config variables with single quotes, so when
-# we write them to config.status, we have to be sure to quote all
-# embedded single quotes properly. In configure, this macro expands
-# each variable declared with _LT_DECL (and _LT_TAGDECL) into:
-#
-# <var>='`$echo "X$<var>" | $Xsed -e "$delay_single_quote_subst"`'
-m4_define([_LT_CONFIG_STATUS_DECLARATIONS],
-[m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames),
- [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])])
-
-
-# _LT_LIBTOOL_TAGS
-# ----------------
-# Output comment and list of tags supported by the script
-m4_define([_LT_LIBTOOL_TAGS],
-[_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl
-available_tags="[]_LT_TAGS[]"dnl
-])
-
-# _LT_LIBTOOL_DECLARE(VARNAME, [TAG])
-# -----------------------------------
-# Extract the dictionary values for VARNAME (optionally with TAG) and
-# expand to a commented shell variable setting:
-#
-# # Some comment about what VAR is for.
-# visible_name=$lt_internal_name
-m4_define([_LT_LIBTOOL_DECLARE],
-[_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1],
- [description])))[]dnl
-m4_pushdef([_libtool_name],
- m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl
-m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])),
- [0], [_libtool_name=[$]$1],
- [1], [_libtool_name=$lt_[]$1],
- [2], [_libtool_name=$lt_[]$1],
- [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl
-m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl
-])
-
-# _LT_LIBTOOL_CONFIG_VARS
-# -----------------------
-# Produce commented declarations of non-tagged libtool config variables
-# suitable for insertion in the LIBTOOL CONFIG section of the `libtool'
-# script. Tagged libtool config variables (even for the LIBTOOL CONFIG
-# section) are produced by _LT_LIBTOOL_TAG_VARS.
-m4_define([_LT_LIBTOOL_CONFIG_VARS],
-[m4_foreach([_lt_var],
- m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)),
- [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])])
-
-# _LT_LIBTOOL_TAG_VARS(TAG)
-# -------------------------
-m4_define([_LT_LIBTOOL_TAG_VARS],
-[m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames),
- [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])])
-
-
-# _LT_AC_TAGVAR(VARNAME, [TAGNAME])
-# ---------------------------------
-m4_define([_LT_AC_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])])
-
-
-# _LT_CONFIG_COMMANDS
-# -------------------
-# Send accumulated output to $CONFIG_STATUS. Thanks to the lists of
-# variables for single and double quote escaping we saved from calls
-# to _LT_DECL, we can put quote escaped variables declarations
-# into `config.status', and then the shell code to quote escape them in
-# for loops in `config.status'. Finally, any additional code accumulated
-# from calls to _LT_CONFIG_LIBTOOL_INIT is expanded.
-m4_define([_LT_CONFIG_COMMANDS],
-[AC_CONFIG_COMMANDS([libtool], [_LT_OUTPUT_LIBTOOL_COMMANDS], [
-
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-if test "X${CDPATH+set}" = Xset; then CDPATH=${ZSH_VERSION+.}:; export CDPATH; fi
-
-sed_quote_subst='$sed_quote_subst'
-double_quote_subst='$double_quote_subst'
-delay_variable_subst='$delay_variable_subst'
-_LT_CONFIG_STATUS_DECLARATIONS
-LTCC='$LTCC'
-compiler='$compiler_DEFAULT'
-
-# Quote evaled strings.
-for var in lt_decl_all_varnames([[ ]], lt_decl_quote_varnames); do
- eval "lt_\$var=\\\\\\"\\\`\\\$echo \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
-done
-
-# Double-quote double-evaled strings.
-for var in lt_decl_all_varnames([[ ]], lt_decl_dquote_varnames); do
- eval "lt_\$var=\\\\\\"\\\`\\\$echo \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
-done
-
-# Fix-up fallback echo if it was mangled by the above quoting rules.
-case \$lt_echo in
-*'\\\[$]0 --fallback-echo"')dnl "
- lt_echo=\`\$echo "X\$lt_echo" | \$Xsed -e 's/\\\\\\\\\\\\\\\[$]0 --fallback-echo"\[$]/\[$]0 --fallback-echo"/'\`
- ;;
-esac
-
-_LT_OUTPUT_LIBTOOL_INIT
-])
-])#_LT_CONFIG_COMMANDS
-
-
-# _LT_CONFIG(TAG)
-# ----------------------------
-# If TAG is the built-in tag, create an initial libtool script with a
-# default configuration from the untagged config vars. Otherwise add code
-# to config.status for appending the configuration named by TAG from the
-# matching tagged config vars.
-m4_define([_LT_CONFIG],
-[_LT_CONFIG_SAVE_COMMANDS([
- m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl
- m4_if(_LT_TAG, [C], [
- # See if we are running on zsh, and set the options which allow our
- # commands through without removal of \ escapes.
- if test -n "${ZSH_VERSION+set}" ; then
- setopt NO_GLOB_SUBST
- fi
-
- cfgfile="${ofile}T"
- trap "$rm \"$cfgfile\"; exit 1" 1 2 15
- $rm -f "$cfgfile"
-
- cat <<_LT_EOF >> "$cfgfile"
-#! $SHELL
-
-# `$echo "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
-# Generated automatically by config.status (GNU $PACKAGE$TIMESTAMP) $VERSION
-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-# NOTE: Changes made to this file will be lost: look at ltmain.sh.
-#
-_LT_COPYING
-
-_LT_LIBTOOL_TAGS
-
-# ### BEGIN LIBTOOL CONFIG
-_LT_LIBTOOL_CONFIG_VARS
-_LT_LIBTOOL_TAG_VARS
-# ### END LIBTOOL CONFIG
-
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-if test "X\${CDPATH+set}" = Xset; then CDPATH=:; export CDPATH; fi
-
-_LT_EOF
-
- case $host_os in
- aix3*)
- cat <<\_LT_EOF >> "$cfgfile"
-# AIX sometimes has problems with the GCC collect2 program. For some
-# reason, if we set the COLLECT_NAMES environment variable, the problems
-# vanish in a puff of smoke.
-if test "X${COLLECT_NAMES+set}" != Xset; then
- COLLECT_NAMES=
- export COLLECT_NAMES
-fi
-_LT_EOF
- ;;
- esac
-
- _LT_PROG_LTMAIN
-
- # We use sed instead of cat because bash on DJGPP gets confused if
- # if finds mixed CR/LF and LF-only lines. Since sed operates in
- # text mode, it properly converts lines to CR/LF. This bash problem
- # is reportedly fixed, but why not run on old versions too?
- sed '$q' "$ltmain" >> "$cfgfile" || (rm -f "$cfgfile"; exit 1)
-
- mv -f "$cfgfile" "$ofile" ||
- (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
- chmod +x "$ofile"
-],
-[cat <<_LT_EOF >> "$ofile"
-
-dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded
-dnl in a comment (ie after a #).
-# ### BEGIN LIBTOOL TAG CONFIG: $1
-_LT_LIBTOOL_TAG_VARS(_LT_TAG)
-# ### END LIBTOOL TAG CONFIG: $1
-_LT_EOF
-])dnl /m4_if
-],
-[m4_if([$1], [], [
- PACKAGE='$PACKAGE'
- VERSION='$VERSION'
- TIMESTAMP='$TIMESTAMP'
- rm='$rm'
- ofile='$ofile'], [])
-])dnl /_LT_CONFIG_SAVE_COMMANDS
-])# _LT_CONFIG
-
-
-# C support is built-in for now
-m4_define([_LT_LANG_C_enabled], [])
-m4_define([_LT_TAGS], [])
-
-# LT_LANG(LANG)
-# -------------
-# Enable libtool support for the given language if not already enabled.
-AC_DEFUN([LT_LANG],
-[m4_case([$1],
- [C], [_LT_LANG(C)],
- [C++], [_LT_LANG(CXX)],
- [Java], [_LT_LANG(GCJ)],
- [Fortran 77], [_LT_LANG(F77)],
- [Windows Resource], [_LT_LANG(RC)],
- [m4_ifdef([_LT_LANG_]$1[_CONFIG],
- [_LT_LANG($1)],
- [m4_fatal([$0: unsupported language: "$1"])])])dnl
-])# LT_LANG
-
-# _LT_LANG(LANGNAME)
-# ------------------
-m4_define([_LT_LANG],
-[m4_ifdef([_LT_LANG_]$1[_enabled], [],
- [m4_append([_LT_TAGS], [$1 ])dnl
- m4_define([_LT_LANG_]$1[_enabled], [])dnl
- _LT_LANG_$1_CONFIG($1)])dnl
-])# _LT_LANG
-
-# _LT_LANG_DEFAULT_CONFIG
-# -----------------------
-m4_define([_LT_LANG_DEFAULT_CONFIG],
-[AC_PROVIDE_IFELSE([AC_PROG_CXX],
- [LT_LANG(CXX)],
- [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])])
-
-AC_PROVIDE_IFELSE([AC_PROG_F77],
- [LT_LANG(F77)],
- [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])])
-
-dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal
-dnl pulling things in needlessly.
-AC_PROVIDE_IFELSE([AC_PROG_GCJ],
- [LT_LANG(GCJ)],
- [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],
- [LT_LANG(GCJ)],
- [AC_PROVIDE_IFELSE([LT_PROG_GCJ],
- [LT_LANG(GCJ)],
- [m4_ifdef([AC_PROG_GCJ],
- [m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])])
- m4_ifdef([A][M_PROG_GCJ],
- [m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])])
- m4_ifdef([LT_PROG_GCJ],
- [m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])])
-
-AC_PROVIDE_IFELSE([LT_PROG_RC],
- [LT_LANG(RC)],
- [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])])
-])# _LT_LANG_DEFAULT_CONFIG
-
-# Obsolete macros
-AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)])
-AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)])
-AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java])])
-
-
-# _LT_AC_SYS_COMPILER
-# -------------------
-AC_DEFUN([_LT_AC_SYS_COMPILER],
-[AC_REQUIRE([AC_PROG_CC])dnl
-
-_LT_DECL([LTCC], [CC], [1], [A C compiler])
-_LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl
-_LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU C compiler?])
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-])# _LT_AC_SYS_COMPILER
-
-
-# _LT_AC_SYS_LIBPATH_AIX
-# ----------------------
-# Links a minimal program and checks the executable
-# for the system default hardcoded library path. In most cases,
-# this is /usr/lib:/lib, but when the MPI compilers are used
-# the location of the communication and MPI libs are included too.
-# If we don't find anything, use the default library path according
-# to the aix ld manual.
-m4_define([_LT_AC_SYS_LIBPATH_AIX],
-[AC_LINK_IFELSE(AC_LANG_PROGRAM,[
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
-}'`
-# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
-}'`; fi],[])
-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
-])# _LT_AC_SYS_LIBPATH_AIX
-
-
-# _LT_AC_SHELL_INIT(ARG)
-# ----------------------
-m4_define([_LT_AC_SHELL_INIT],
-[ifdef([AC_DIVERSION_NOTICE],
- [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)],
- [AC_DIVERT_PUSH(NOTICE)])
-$1
-AC_DIVERT_POP
-])# _LT_AC_SHELL_INIT
-
-
-# _LT_AC_PROG_ECHO_BACKSLASH
-# --------------------------
-# Add some code to the start of the generated configure script which
-# will find an echo command which doesn't interpret backslashes.
-m4_define([_LT_AC_PROG_ECHO_BACKSLASH],
-[_LT_AC_SHELL_INIT([
-# Check that we are running under the correct shell.
-SHELL=${CONFIG_SHELL-/bin/sh}
-
-case X$ECHO in
-X*--fallback-echo)
- # Remove one level of quotation (which was required for Make).
- ECHO=`echo "$ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','`
- ;;
-esac
-
-echo=${ECHO-echo}
-if test "X[$]1" = X--no-reexec; then
- # Discard the --no-reexec flag, and continue.
- shift
-elif test "X[$]1" = X--fallback-echo; then
- # Avoid inline document here, it may be left over
- :
-elif test "X`($echo '\t') 2>/dev/null`" = 'X\t' ; then
- # Yippee, $echo works!
- :
-else
- # Restart under the correct shell.
- exec $SHELL "[$]0" --no-reexec ${1+"[$]@"}
-fi
-
-if test "X[$]1" = X--fallback-echo; then
- # used as fallback echo
- shift
- cat <<_LT_EOF
-[$]*
-_LT_EOF
- exit 0
-fi
-
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-if test "X${CDPATH+set}" = Xset; then CDPATH=:; export CDPATH; fi
-
-if test -z "$ECHO"; then
-if test "X${echo_test_string+set}" != Xset; then
-# find a string as large as possible, as long as the shell can cope with it
- for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do
- # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
- if (echo_test_string="`eval $cmd`") 2>/dev/null &&
- echo_test_string="`eval $cmd`" &&
- (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null
- then
- break
- fi
- done
-fi
-
-if test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
- echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` &&
- test "X$echo_testing_string" = "X$echo_test_string"; then
- :
-else
- # The Solaris, AIX, and Digital Unix default echo programs unquote
- # backslashes. This makes it impossible to quote backslashes using
- # echo "$something" | sed 's/\\/\\\\/g'
- #
- # So, first we look for a working echo in the user's PATH.
-
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- for dir in $PATH /usr/ucb; do
- IFS="$lt_save_ifs"
- if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
- test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
- echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` &&
- test "X$echo_testing_string" = "X$echo_test_string"; then
- echo="$dir/echo"
- break
- fi
- done
- IFS="$lt_save_ifs"
-
- if test "X$echo" = Xecho; then
- # We didn't find a better echo, so look for alternatives.
- if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' &&
- echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` &&
- test "X$echo_testing_string" = "X$echo_test_string"; then
- # This shell has a builtin print -r that does the trick.
- echo='print -r'
- elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) &&
- test "X$CONFIG_SHELL" != X/bin/ksh; then
- # If we have ksh, try running configure again with it.
- ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
- export ORIGINAL_CONFIG_SHELL
- CONFIG_SHELL=/bin/ksh
- export CONFIG_SHELL
- exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"}
- else
- # Try using printf.
- echo='printf %s\n'
- if test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
- echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` &&
- test "X$echo_testing_string" = "X$echo_test_string"; then
- # Cool, printf works
- :
- elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
- test "X$echo_testing_string" = 'X\t' &&
- echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
- test "X$echo_testing_string" = "X$echo_test_string"; then
- CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL
- export CONFIG_SHELL
- SHELL="$CONFIG_SHELL"
- export SHELL
- echo="$CONFIG_SHELL [$]0 --fallback-echo"
- elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
- test "X$echo_testing_string" = 'X\t' &&
- echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
- test "X$echo_testing_string" = "X$echo_test_string"; then
- echo="$CONFIG_SHELL [$]0 --fallback-echo"
- else
- # maybe with a smaller string...
- prev=:
-
- for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do
- if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null
- then
- break
- fi
- prev="$cmd"
- done
-
- if test "$prev" != 'sed 50q "[$]0"'; then
- echo_test_string=`eval $prev`
- export echo_test_string
- exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"}
- else
- # Oops. We lost completely, so just stick with echo.
- echo=echo
- fi
- fi
- fi
- fi
-fi
-fi
-
-# Copy echo and quote the copy suitably for passing to libtool from
-# the Makefile, instead of quoting the original, which is used later.
-ECHO=$echo
-if test "X$ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then
- ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo"
-fi
-
-AC_SUBST(ECHO)
-])
-_LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts])
-_LT_DECL([], [echo], [1],
- [An echo program that does not interpret backslashes])
-])# _LT_AC_PROG_ECHO_BACKSLASH
-
-
-# _LT_AC_LOCK
-# -----------
-AC_DEFUN([_LT_AC_LOCK],
-[AC_REQUIRE([AC_OBJEXT])dnl
-AC_ARG_ENABLE([libtool-lock],
- [AC_HELP_STRING([--disable-libtool-lock],
- [avoid locking (might break parallel builds)])])
-test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
-
-# Some flags need to be propagated to the compiler or linker for good
-# libtool support.
-case $host in
-ia64-*-hpux*)
- # Find out which ABI we are using.
- echo 'int i;' > conftest.$ac_ext
- if AC_TRY_EVAL(ac_compile); then
- case `/usr/bin/file conftest.$ac_objext` in
- *ELF-32*)
- HPUX_IA64_MODE="32"
- ;;
- *ELF-64*)
- HPUX_IA64_MODE="64"
- ;;
- esac
- fi
- rm -rf conftest*
- ;;
-*-*-irix6*)
- # Find out which ABI we are using.
- echo '[#]line __oline__ "configure"' > conftest.$ac_ext
- if AC_TRY_EVAL(ac_compile); then
- if test "$lt_cv_prog_gnu_ld" = yes; then
- case `/usr/bin/file conftest.$ac_objext` in
- *32-bit*)
- LD="${LD-ld} -melf32bsmip"
- ;;
- *N32*)
- LD="${LD-ld} -melf32bmipn32"
- ;;
- *64-bit*)
- LD="${LD-ld} -melf64bmip"
- ;;
- esac
- else
- case `/usr/bin/file conftest.$ac_objext` in
- *32-bit*)
- LD="${LD-ld} -32"
- ;;
- *N32*)
- LD="${LD-ld} -n32"
- ;;
- *64-bit*)
- LD="${LD-ld} -64"
- ;;
- esac
- fi
- fi
- rm -rf conftest*
- ;;
-
-x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*)
- # Find out which ABI we are using.
- echo 'int i;' > conftest.$ac_ext
- if AC_TRY_EVAL(ac_compile); then
- case "`/usr/bin/file conftest.o`" in
- *32-bit*)
- case $host in
- x86_64-*linux*)
- LD="${LD-ld} -m elf_i386"
- ;;
- ppc64-*linux*|powerpc64-*linux*)
- LD="${LD-ld} -m elf32ppclinux"
- ;;
- s390x-*linux*)
- LD="${LD-ld} -m elf_s390"
- ;;
- sparc64-*linux*)
- LD="${LD-ld} -m elf32_sparc"
- ;;
- esac
- ;;
- *64-bit*)
- case $host in
- x86_64-*linux*)
- LD="${LD-ld} -m elf_x86_64"
- ;;
- ppc*-*linux*|powerpc*-*linux*)
- LD="${LD-ld} -m elf64ppc"
- ;;
- s390*-*linux*)
- LD="${LD-ld} -m elf64_s390"
- ;;
- sparc*-*linux*)
- LD="${LD-ld} -m elf64_sparc"
- ;;
- esac
- ;;
- esac
- fi
- rm -rf conftest*
- ;;
-
-*-*-sco3.2v5*)
- # On SCO OpenServer 5, we need -belf to get full-featured binaries.
- SAVE_CFLAGS="$CFLAGS"
- CFLAGS="$CFLAGS -belf"
- AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
- [AC_LANG_PUSH(C)
- AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
- AC_LANG_POP])
- if test x"$lt_cv_cc_needs_belf" != x"yes"; then
- # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
- CFLAGS="$SAVE_CFLAGS"
- fi
- ;;
-esac
-
-need_locks="$enable_libtool_lock"
-])# _LT_AC_LOCK
-
-
-# AC_LIBTOOL_SYS_OLD_ARCHIVE
-# --------------------------
-AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE],
-[AC_CHECK_TOOL(AR, ar, false)
-test -z "$AR" && AR=ar
-test -z "$AR_FLAGS" && AR_FLAGS=cru
-_LT_DECL([], [AR], [1], [The archiver])
-_LT_DECL([], [AR_FLAGS], [1])
-
-AC_CHECK_TOOL(STRIP, strip, :)
-test -z "$STRIP" && STRIP=:
-_LT_DECL([], [STRIP], [1], [A symbol stripping program])
-
-AC_CHECK_TOOL(RANLIB, ranlib, :)
-test -z "$RANLIB" && RANLIB=:
-_LT_DECL([], [RANLIB], [1],
- [Commands used to install an old-style archive])
-
-# Determine commands to create old-style static archives.
-old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs'
-old_postinstall_cmds='chmod 644 $oldlib'
-old_postuninstall_cmds=
-
-if test -n "$RANLIB"; then
- case $host_os in
- openbsd*)
- old_postinstall_cmds="\$RANLIB -t \$oldlib~$old_postinstall_cmds"
- ;;
- *)
- old_postinstall_cmds="\$RANLIB \$oldlib~$old_postinstall_cmds"
- ;;
- esac
- old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
-fi
-_LT_DECL([], [old_postinstall_cmds], [2])
-_LT_DECL([], [old_postuninstall_cmds], [2])
-_LT_TAGDECL([], [old_archive_cmds], [2],
- [Commands used to build an old-style archive])
-])# AC_LIBTOOL_SYS_OLD_ARCHIVE
-
-
-# AC_LIBTOOL_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
-# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE])
-# ----------------------------------------------------------------
-# Check whether the given compiler option works
-AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION],
-[AC_REQUIRE([AC_OBJEXT])dnl
-AC_REQUIRE([LT_AC_PROG_SED])dnl
-AC_CACHE_CHECK([$1], [$2],
- [$2=no
- m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
- printf "$lt_simple_compile_test_code" > conftest.$ac_ext
- lt_compiler_flag="$3"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- # The option is referenced via a variable to avoid confusing sed.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
- -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
- (eval "$lt_compile" 2>conftest.err)
- ac_status=$?
- cat conftest.err >&AS_MESSAGE_LOG_FD
- echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
- if (exit $ac_status) && test -s "$ac_outfile"; then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings
- if test ! -s conftest.err; then
- $2=yes
- fi
- fi
- $rm conftest*
-])
-
-if test x"[$]$2" = xyes; then
- m4_if([$5], , :, [$5])
-else
- m4_if([$6], , :, [$6])
-fi
-])# AC_LIBTOOL_COMPILER_OPTION
-
-
-# AC_LIBTOOL_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
-# [ACTION-SUCCESS], [ACTION-FAILURE])
-# ------------------------------------------------------------
-# Check whether the given compiler option works
-m4_define([AC_LIBTOOL_LINKER_OPTION],
-[AC_CACHE_CHECK([$1], [$2],
- [$2=no
- save_LDFLAGS="$LDFLAGS"
- LDFLAGS="$LDFLAGS $3"
- printf "$lt_simple_link_test_code" > conftest.$ac_ext
- if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings
- if test -s conftest.err; then
- # Append any errors to the config.log.
- cat conftest.err 1>&AS_MESSAGE_LOG_FD
- else
- $2=yes
- fi
- fi
- $rm conftest*
- LDFLAGS="$save_LDFLAGS"
-])
-
-if test x"[$]$2" = xyes; then
- m4_if([$4], , :, [$4])
-else
- m4_if([$5], , :, [$5])
-fi
-])# AC_LIBTOOL_LINKER_OPTION
-
-
-# AC_LIBTOOL_SYS_MAX_CMD_LEN
-# --------------------------
-AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN],
-[AC_REQUIRE([AC_CANONICAL_HOST])dnl
-# find the maximum length of command line arguments
-AC_MSG_CHECKING([the maximum length of command line arguments])
-AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
- i=0
- teststring="ABCD"
-
- case $build_os in
- msdosdjgpp*)
- # On DJGPP, this test can blow up pretty badly due to problems in libc
- # (any single argument exceeding 2000 bytes causes a buffer overrun
- # during glob expansion). Even if it were fixed, the result of this
- # check would be larger than it should be.
- lt_cv_sys_max_cmd_len=12288; # 12K is about right
- ;;
-
- gnu*)
- # Under GNU Hurd, this test is not required because there is
- # no limit to the length of command line arguments.
- # Libtool will interpret -1 as no limit whatsoever
- lt_cv_sys_max_cmd_len=-1;
- ;;
-
- cygwin* | mingw*)
- # On Win9x/ME, this test blows up -- it succeeds, but takes
- # about 5 minutes as the teststring grows exponentially.
- # Worse, since 9x/ME are not pre-emptively multitasking,
- # you end up with a "frozen" computer, even though with patience
- # the test eventually succeeds (with a max line length of 256k).
- # Instead, let's just punt: use the minimum linelength reported by
- # all of the supported platforms: 8192 (on NT/2K/XP).
- lt_cv_sys_max_cmd_len=8192;
- ;;
-
- amigaos*)
- # On AmigaOS with pdksh, this test takes hours, literally.
- # So we just punt and use a minimum line length of 8192.
- lt_cv_sys_max_cmd_len=8192;
- ;;
-
- *)
- # Make teststring a little bigger before we do anything with it.
- # a 1K string should be a reasonable start.
- for i in 1 2 3 4 5 6 7 8 ; do
- teststring=$teststring$teststring
- done
- # If test is not a shell built-in, we'll probably end up computing a
- # maximum length that is only half of the actual maximum length, but
- # we can't tell.
- while (test "X"`$CONFIG_SHELL [$]0 --fallback-echo "X$teststring$teststring" 2>/dev/null` \
- = "XX$teststring$teststring") >/dev/null 2>&1 &&
- test $i != 17 # 1/2 MB should be enough
- do
- i=`expr $i + 1`
- teststring=$teststring$teststring
- done
- # Only check the string length outside the loop.
- lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
- teststring=
- # Add a significant safety factor because C++ compilers can tack on massive
- # amounts of additional arguments before passing them to the linker.
- # It appears as though 1/2 is a usable value.
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
- ;;
- esac
-])
-if test -n $lt_cv_sys_max_cmd_len ; then
- AC_MSG_RESULT($lt_cv_sys_max_cmd_len)
-else
- AC_MSG_RESULT(none)
-fi
-_LT_DECL([max_cmd_len], [lt_cv_sys_max_cmd_len], [0],
- [What is the maximum length of a command?])
-])# AC_LIBTOOL_SYS_MAX_CMD_LEN
-
-
-# _LT_AC_CHECK_DLFCN
-# --------------------
-AC_DEFUN([_LT_AC_CHECK_DLFCN],
-[AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl
-])# _LT_AC_CHECK_DLFCN
-
-
-# _LT_AC_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
-# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
-# ------------------------------------------------------------------
-AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF],
-[AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl
-if test "$cross_compiling" = yes; then :
- [$4]
-else
- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
- lt_status=$lt_dlunknown
- cat > conftest.$ac_ext <<_LT_EOF
-[#line __oline__ "configure"
-#include "confdefs.h"
-
-#if HAVE_DLFCN_H
-#include <dlfcn.h>
-#endif
-
-#include <stdio.h>
-
-#ifdef RTLD_GLOBAL
-# define LT_DLGLOBAL RTLD_GLOBAL
-#else
-# ifdef DL_GLOBAL
-# define LT_DLGLOBAL DL_GLOBAL
-# else
-# define LT_DLGLOBAL 0
-# endif
-#endif
-
-/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
- find out it does not work in some platform. */
-#ifndef LT_DLLAZY_OR_NOW
-# ifdef RTLD_LAZY
-# define LT_DLLAZY_OR_NOW RTLD_LAZY
-# else
-# ifdef DL_LAZY
-# define LT_DLLAZY_OR_NOW DL_LAZY
-# else
-# ifdef RTLD_NOW
-# define LT_DLLAZY_OR_NOW RTLD_NOW
-# else
-# ifdef DL_NOW
-# define LT_DLLAZY_OR_NOW DL_NOW
-# else
-# define LT_DLLAZY_OR_NOW 0
-# endif
-# endif
-# endif
-# endif
-#endif
-
-#ifdef __cplusplus
-extern "C" void exit (int);
-#endif
-
-void fnord() { int i=42;}
-int main ()
-{
- void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
- int status = $lt_dlunknown;
-
- if (self)
- {
- if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
- else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
- /* dlclose (self); */
- }
-
- exit (status);
-}]
-_LT_EOF
- if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then
- (./conftest; exit; ) 2>/dev/null
- lt_status=$?
- case x$lt_status in
- x$lt_dlno_uscore) $1 ;;
- x$lt_dlneed_uscore) $2 ;;
- x$lt_unknown|x*) $3 ;;
- esac
- else :
- # compilation failed
- $3
- fi
-fi
-rm -fr conftest*
-])# _LT_AC_TRY_DLOPEN_SELF
-
-
-# AC_LIBTOOL_DLOPEN_SELF
-# -------------------
-AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF],
-[AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl
-if test "x$enable_dlopen" != xyes; then
- enable_dlopen=unknown
- enable_dlopen_self=unknown
- enable_dlopen_self_static=unknown
-else
- lt_cv_dlopen=no
- lt_cv_dlopen_libs=
-
- case $host_os in
- beos*)
- lt_cv_dlopen="load_add_on"
- lt_cv_dlopen_libs=
- lt_cv_dlopen_self=yes
- ;;
-
- mingw* | pw32*)
- lt_cv_dlopen="LoadLibrary"
- lt_cv_dlopen_libs=
- ;;
-
- cygwin*)
- lt_cv_dlopen="dlopen"
- lt_cv_dlopen_libs=
- ;;
-
- darwin*)
- # if libdl is installed we need to link against it
- AC_CHECK_LIB([dl], [dlopen],
- [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[
- lt_cv_dlopen="dyld"
- lt_cv_dlopen_libs=
- lt_cv_dlopen_self=yes
- ])
- ;;
-
- *)
- AC_CHECK_FUNC([shl_load],
- [lt_cv_dlopen="shl_load"],
- [AC_CHECK_LIB([dld], [shl_load],
- [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld"],
- [AC_CHECK_FUNC([dlopen],
- [lt_cv_dlopen="dlopen"],
- [AC_CHECK_LIB([dl], [dlopen],
- [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],
- [AC_CHECK_LIB([svld], [dlopen],
- [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"],
- [AC_CHECK_LIB([dld], [dld_link],
- [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"])
- ])
- ])
- ])
- ])
- ])
- ;;
- esac
-
- if test "x$lt_cv_dlopen" != xno; then
- enable_dlopen=yes
- else
- enable_dlopen=no
- fi
-
- case $lt_cv_dlopen in
- dlopen)
- save_CPPFLAGS="$CPPFLAGS"
- test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
-
- save_LDFLAGS="$LDFLAGS"
- eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
-
- save_LIBS="$LIBS"
- LIBS="$lt_cv_dlopen_libs $LIBS"
-
- AC_CACHE_CHECK([whether a program can dlopen itself],
- lt_cv_dlopen_self, [dnl
- _LT_AC_TRY_DLOPEN_SELF(
- lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes,
- lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross)
- ])
-
- if test "x$lt_cv_dlopen_self" = xyes; then
- LDFLAGS="$LDFLAGS $link_static_flag"
- AC_CACHE_CHECK([whether a statically linked program can dlopen itself],
- lt_cv_dlopen_self_static, [dnl
- _LT_AC_TRY_DLOPEN_SELF(
- lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes,
- lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross)
- ])
- fi
-
- CPPFLAGS="$save_CPPFLAGS"
- LDFLAGS="$save_LDFLAGS"
- LIBS="$save_LIBS"
- ;;
- esac
-
- case $lt_cv_dlopen_self in
- yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
- *) enable_dlopen_self=unknown ;;
- esac
-
- case $lt_cv_dlopen_self_static in
- yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
- *) enable_dlopen_self_static=unknown ;;
- esac
-fi
-_LT_DECL([dlopen_support], [enable_dlopen], [0],
- [Whether dlopen is supported])
-_LT_DECL([dlopen_self], [enable_dlopen_self], [0],
- [Whether dlopen of programs is supported])
-_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0],
- [Whether dlopen of statically linked programs is supported])
-])# AC_LIBTOOL_DLOPEN_SELF
-
-
-# AC_LIBTOOL_PROG_CC_C_O([TAGNAME])
-# ---------------------------------
-# Check to see if options -c and -o are simultaneously supported by compiler
-AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O],
-[AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl
-AC_REQUIRE([AC_OBJEXT])dnl
-AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
- [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)],
- [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no
- $rm -r conftest 2>/dev/null
- mkdir conftest
- cd conftest
- mkdir out
- printf "$lt_simple_compile_test_code" > conftest.$ac_ext
-
- lt_compiler_flag="-o out/conftest2.$ac_objext"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
- -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
- (eval "$lt_compile" 2>out/conftest.err)
- ac_status=$?
- cat out/conftest.err >&AS_MESSAGE_LOG_FD
- echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
- if (exit $ac_status) && test -s out/conftest2.$ac_objext
- then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings
- if test ! -s out/conftest.err; then
- _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
- fi
- fi
- chmod u+w .
- $rm conftest*
- # SGI C++ compiler will create directory out/ii_files/ for
- # template instantiation
- test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files
- $rm out/* && rmdir out
- cd ..
- rmdir conftest
- $rm conftest*
-])
-_LT_DECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1],
- [Does compiler simultaneously support -c and -o options?])
-])# AC_LIBTOOL_PROG_CC_C_O
-
-
-# AC_LIBTOOL_SYS_HARD_LINK_LOCKS([TAGNAME])
-# -----------------------------------------
-# Check to see if we can do hard links to lock some files if needed
-AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS],
-[AC_REQUIRE([AC_LIBTOOL_PROG_CC_C_O])dnl
-AC_REQUIRE([_LT_AC_LOCK])dnl
-
-hard_links="nottested"
-if test "$_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then
- # do not overwrite the value of need_locks provided by the user
- AC_MSG_CHECKING([if we can lock with hard links])
- hard_links=yes
- $rm conftest*
- ln conftest.a conftest.b 2>/dev/null && hard_links=no
- touch conftest.a
- ln conftest.a conftest.b 2>&5 || hard_links=no
- ln conftest.a conftest.b 2>/dev/null && hard_links=no
- AC_MSG_RESULT([$hard_links])
- if test "$hard_links" = no; then
- AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe])
- need_locks=warn
- fi
-else
- need_locks=no
-fi
-_LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?])
-])# AC_LIBTOOL_SYS_HARD_LINK_LOCKS
-
-
-# AC_LIBTOOL_OBJDIR
-# -----------------
-AC_DEFUN([AC_LIBTOOL_OBJDIR],
-[AC_CACHE_CHECK([for objdir], [lt_cv_objdir],
-[rm -f .libs 2>/dev/null
-mkdir .libs 2>/dev/null
-if test -d .libs; then
- lt_cv_objdir=.libs
-else
- # MS-DOS does not allow filenames that begin with a dot.
- lt_cv_objdir=_libs
-fi
-rmdir .libs 2>/dev/null])
-objdir=$lt_cv_objdir
-_LT_DECL([], [objdir], [0],
- [The name of the directory that contains temporary libtool files])dnl
-])# AC_LIBTOOL_OBJDIR
-
-
-# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH([TAGNAME])
-# ----------------------------------------------
-# Check hardcoding attributes.
-AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH],
-[AC_MSG_CHECKING([how to hardcode library paths into programs])
-_LT_AC_TAGVAR(hardcode_action, $1)=
-if test -n "$_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)" ||
- test -n "$_LT_AC_TAGVAR(runpath_var $1)" ||
- test "X$_LT_AC_TAGVAR(hardcode_automatic, $1)"="Xyes" ; then
-
- # We can hardcode non-existant directories.
- if test "$_LT_AC_TAGVAR(hardcode_direct, $1)" != no &&
- # If the only mechanism to avoid hardcoding is shlibpath_var, we
- # have to relink, otherwise we might link with an installed library
- # when we should be linking with a yet-to-be-installed one
- ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)" != no &&
- test "$_LT_AC_TAGVAR(hardcode_minus_L, $1)" != no; then
- # Linking always hardcodes the temporary library directory.
- _LT_AC_TAGVAR(hardcode_action, $1)=relink
- else
- # We can link without hardcoding, and we can hardcode nonexisting dirs.
- _LT_AC_TAGVAR(hardcode_action, $1)=immediate
- fi
-else
- # We cannot hardcode anything, or else we can only hardcode existing
- # directories.
- _LT_AC_TAGVAR(hardcode_action, $1)=unsupported
-fi
-AC_MSG_RESULT([$_LT_AC_TAGVAR(hardcode_action, $1)])
-
-if test "$_LT_AC_TAGVAR(hardcode_action, $1)" = relink ||
- test "$_LT_AC_TAGVAR(inherit_rpath, $1)" = yes; then
- # Fast installation is not supported
- enable_fast_install=no
-elif test "$shlibpath_overrides_runpath" = yes ||
- test "$enable_shared" = no; then
- # Fast installation is not necessary
- enable_fast_install=needless
-fi
-_LT_TAGDECL([], [hardcode_action], [0],
- [How to hardcode a shared library path into an executable])
-])# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH
-
-
-# AC_LIBTOOL_SYS_LIB_STRIP
-# ------------------------
-AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP],
-[AC_REQUIRE([LT_AC_PROG_EGREP])
-striplib=
-old_striplib=
-AC_MSG_CHECKING([whether stripping libraries is possible])
-if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
- test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
- test -z "$striplib" && striplib="$STRIP --strip-unneeded"
- AC_MSG_RESULT([yes])
-else
-# FIXME - insert some real tests, host_os isn't really good enough
- case $host_os in
- darwin*)
- if test -n "$STRIP" ; then
- striplib="$STRIP -x"
- AC_MSG_RESULT([yes])
- else
- AC_MSG_RESULT([no])
-fi
- ;;
- *)
- AC_MSG_RESULT([no])
- ;;
- esac
-fi
-_LT_DECL([], [old_striplib], [1], [Commands to strip libraries])
-_LT_DECL([], [striplib], [1])
-])# AC_LIBTOOL_SYS_LIB_STRIP
-
-
-# AC_LIBTOOL_SYS_DYNAMIC_LINKER
-# -----------------------------
-# PORTME Fill in your ld.so characteristics
-AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER],
-[AC_REQUIRE([LT_AC_PROG_EGREP])
-AC_MSG_CHECKING([dynamic linker characteristics])
-library_names_spec=
-libname_spec='lib$name'
-soname_spec=
-shrext_cmds=".so"
-postinstall_cmds=
-postuninstall_cmds=
-finish_cmds=
-finish_eval=
-shlibpath_var=
-shlibpath_overrides_runpath=unknown
-version_type=none
-dynamic_linker="$host_os ld.so"
-sys_lib_dlsearch_path_spec="/lib /usr/lib"
-if test "$GCC" = yes; then
- sys_lib_search_path_spec=`$CC -print-search-dirs | $GREP "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
- if echo "$sys_lib_search_path_spec" | $GREP ';' >/dev/null ; then
- # if the path contains ";" then we assume it to be the separator
- # otherwise default to the standard path separator (i.e. ":") - it is
- # assumed that no part of a normal pathname contains ";" but that should
- # okay in the real world where ";" in dirpaths is itself problematic.
- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
- else
- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
- fi
-else
- sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
-fi
-need_lib_prefix=unknown
-hardcode_into_libs=no
-
-# when you set need_version to no, make sure it does not cause -set_version
-# flags to be left without arguments
-need_version=unknown
-
-case $host_os in
-aix3*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
- shlibpath_var=LIBPATH
-
- # AIX 3 has no versioning support, so we append a major version to the name.
- soname_spec='${libname}${release}${shared_ext}$major'
- ;;
-
-aix4* | aix5*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- hardcode_into_libs=yes
- if test "$host_cpu" = ia64; then
- # AIX 5 supports IA64
- library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- else
- # With GCC up to 2.95.x, collect2 would create an import file
- # for dependence libraries. The import file would start with
- # the line `#! .'. This would cause the generated library to
- # depend on `.', always an invalid library. This was fixed in
- # development snapshots of GCC prior to 3.0.
- case $host_os in
- aix4 | aix4.[[01]] | aix4.[[01]].*)
- if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
- echo ' yes '
- echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
- :
- else
- can_build_shared=no
- fi
- ;;
- esac
- # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
- # soname into executable. Probably we can add versioning support to
- # collect2, so additional links can be useful in future.
- if test "$aix_use_runtimelinking" = yes; then
- # If using run time linking (on AIX 4.2 or later) use lib<name>.so
- # instead of lib<name>.a to let people know that these are not
- # typical AIX shared libraries.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- else
- # We preserve .a as extension for shared libraries through AIX4.2
- # and later when we are not doing run time linking.
- library_names_spec='${libname}${release}.a $libname.a'
- soname_spec='${libname}${release}${shared_ext}$major'
- fi
- shlibpath_var=LIBPATH
- fi
- ;;
-
-amigaos*)
- if test "$host_cpu" = m68k; then
- library_names_spec='$libname.ixlibrary $libname.a'
- # Create ${libname}_ixlibrary.a entries in /sys/libs.
- finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
- else
- dynamic_linker=no
- fi
- ;;
-
-beos*)
- library_names_spec='${libname}${shared_ext}'
- dynamic_linker="$host_os ld.so"
- shlibpath_var=LIBRARY_PATH
- ;;
-
-bsdi4*)
- version_type=linux
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
- sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
- # the default ld.so.conf also contains /usr/contrib/lib and
- # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
- # libtool to hard-code these into programs
- ;;
-
-cygwin* | mingw* | pw32*)
- version_type=windows
- shrext_cmds=".dll"
- need_version=no
- need_lib_prefix=no
-
- case $GCC,$host_os in
- yes,cygwin* | yes,mingw* | yes,pw32*)
- library_names_spec='$libname.dll.a'
- # DLL is installed to $(libdir)/../bin by postinstall_cmds
- postinstall_cmds='base_file=`basename \${file}`~
- dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~
- dldir=$destdir/`dirname \$dlpath`~
- test -d \$dldir || mkdir -p \$dldir~
- $install_prog $dir/$dlname \$dldir/$dlname'
- postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
- dlpath=$dir/\$dldll~
- $rm \$dlpath'
- shlibpath_overrides_runpath=yes
-
- case $host_os in
- cygwin*)
- # Cygwin DLLs use 'cyg' prefix rather than 'lib'
- soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
- sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
- ;;
- mingw*)
- # MinGW DLLs use traditional 'lib' prefix
- soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
- sys_lib_search_path_spec=`$CC -print-search-dirs | $GREP "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
- if echo "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then
- # It is most probably a Windows format PATH printed by
- # mingw gcc, but we are running on Cygwin. Gcc prints its search
- # path with ; separators, and with drive letters. We can handle the
- # drive letters (cygwin fileutils understands them), so leave them,
- # especially as we might pass files found there to a mingw objdump,
- # which wouldn't understand a cygwinified path. Ahh.
- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
- else
- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
- fi
- ;;
- pw32*)
- # pw32 DLLs use 'pw' prefix rather than 'lib'
- library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- ;;
- esac
- ;;
-
- *)
- library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib'
- ;;
- esac
- dynamic_linker='Win32 ld.exe'
- # FIXME: first we should search . and the directory the executable is in
- shlibpath_var=PATH
- ;;
-
-darwin* | rhapsody*)
- dynamic_linker="$host_os dyld"
- version_type=darwin
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext'
- soname_spec='${libname}${release}${major}$shared_ext'
- shlibpath_overrides_runpath=yes
- shlibpath_var=DYLD_LIBRARY_PATH
- shrext_cmds='$(test .$module = .yes && echo .so || echo .dylib)'
- # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same.
- if test "$GCC" = yes; then
- sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | $GREP "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"`
- else
- sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib'
- fi
- sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
- ;;
-
-dgux*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- ;;
-
-freebsd1*)
- dynamic_linker=no
- ;;
-
-kfreebsd*-gnu)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- dynamic_linker='GNU ld.so'
- ;;
-
-freebsd*)
- objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout`
- version_type=freebsd-$objformat
- case $version_type in
- freebsd-elf*)
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
- need_version=no
- need_lib_prefix=no
- ;;
- freebsd-*)
- library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
- need_version=yes
- ;;
- esac
- shlibpath_var=LD_LIBRARY_PATH
- case $host_os in
- freebsd2*)
- shlibpath_overrides_runpath=yes
- ;;
- freebsd3.[01]* | freebsdelf3.[01]*)
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
- *) # from 3.2 on
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- ;;
- esac
- ;;
-
-gnu*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- hardcode_into_libs=yes
- ;;
-
-hpux9* | hpux10* | hpux11*)
- # Give a soname corresponding to the major version so that dld.sl refuses to
- # link against other versions.
- version_type=sunos
- need_lib_prefix=no
- need_version=no
- case "$host_cpu" in
- ia64*)
- shrext_cmds='.so'
- hardcode_into_libs=yes
- dynamic_linker="$host_os dld.so"
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- if test "X$HPUX_IA64_MODE" = X32; then
- sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
- else
- sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
- fi
- sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
- ;;
- hppa*64*)
- shrext_cmds='.sl'
- hardcode_into_libs=yes
- dynamic_linker="$host_os dld.sl"
- shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
- shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
- sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
- ;;
- *)
- shrext_cmds='.sl'
- dynamic_linker="$host_os dld.sl"
- shlibpath_var=SHLIB_PATH
- shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- ;;
- esac
- # HP-UX runs *really* slowly unless shared libraries are mode 555.
- postinstall_cmds='chmod 555 $lib'
- ;;
-
-irix5* | irix6* | nonstopux*)
- case $host_os in
- nonstopux*) version_type=nonstopux ;;
- *)
- if test "$lt_cv_prog_gnu_ld" = yes; then
- version_type=linux
- else
- version_type=irix
- fi ;;
- esac
- need_lib_prefix=no
- need_version=no
- soname_spec='${libname}${release}${shared_ext}$major'
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
- case $host_os in
- irix5* | nonstopux*)
- libsuff= shlibsuff=
- ;;
- *)
- case $LD in # libtool.m4 will add one of these switches to LD
- *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
- libsuff= shlibsuff= libmagic=32-bit;;
- *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
- libsuff=32 shlibsuff=N32 libmagic=N32;;
- *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
- libsuff=64 shlibsuff=64 libmagic=64-bit;;
- *) libsuff= shlibsuff= libmagic=never-match;;
- esac
- ;;
- esac
- shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
- shlibpath_overrides_runpath=no
- sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
- sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
- hardcode_into_libs=yes
- ;;
-
-# No shared lib support for Linux oldld, aout, or coff.
-linux*oldld* | linux*aout* | linux*coff*)
- dynamic_linker=no
- ;;
-
-# This must be Linux ELF.
-linux*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- # This implies no fast_install, which is unacceptable.
- # Some rework will be needed to allow for fast_install
- # before this can be enabled.
- hardcode_into_libs=yes
-
- # Append ld.so.conf contents to the search path
- if test -f /etc/ld.so.conf; then
- lt_ld_extra=`$SED -e 's/[:,\t]/ /g;s/=[^=]*$//;s/=[^= ]* / /g' /etc/ld.so.conf | tr '\n' ' '`
- sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
- fi
-
- # We used to test for /lib/ld.so.1 and disable shared libraries on
- # powerpc, because MkLinux only supported shared libraries with the
- # GNU dynamic linker. Since this was broken with cross compilers,
- # most powerpc-linux boxes support dynamic linking these days and
- # people can always --disable-shared, the test was removed, and we
- # assume the GNU/Linux dynamic linker is in use.
- dynamic_linker='GNU/Linux ld.so'
- ;;
-
-knetbsd*-gnu)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- dynamic_linker='GNU ld.so'
- ;;
-
-netbsd*)
- version_type=sunos
- need_lib_prefix=no
- need_version=no
- if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
- dynamic_linker='NetBSD (a.out) ld.so'
- else
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- dynamic_linker='NetBSD ld.elf_so'
- fi
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
-
-newsos6)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- ;;
-
-nto-qnx*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- ;;
-
-openbsd*)
- version_type=sunos
- need_lib_prefix=no
- need_version=yes
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- case $host_os in
- openbsd2.[[89]] | openbsd2.[[89]].*)
- shlibpath_overrides_runpath=no
- ;;
- *)
- shlibpath_overrides_runpath=yes
- ;;
- esac
- else
- shlibpath_overrides_runpath=yes
- fi
- ;;
-
-os2*)
- libname_spec='$name'
- shrext_cmds=".dll"
- need_lib_prefix=no
- library_names_spec='$libname${shared_ext} $libname.a'
- dynamic_linker='OS/2 ld.exe'
- shlibpath_var=LIBPATH
- ;;
-
-osf3* | osf4* | osf5*)
- version_type=osf
- need_lib_prefix=no
- need_version=no
- soname_spec='${libname}${release}${shared_ext}$major'
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
- sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
- ;;
-
-sco3.2v5*)
- version_type=osf
- soname_spec='${libname}${release}${shared_ext}$major'
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- ;;
-
-solaris*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- # ldd complains unless libraries are executable
- postinstall_cmds='chmod +x $lib'
- ;;
-
-sunos4*)
- version_type=sunos
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- if test "$with_gnu_ld" = yes; then
- need_lib_prefix=no
- fi
- need_version=yes
- ;;
-
-sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- case $host_vendor in
- sni)
- shlibpath_overrides_runpath=no
- need_lib_prefix=no
- runpath_var=LD_RUN_PATH
- ;;
- siemens)
- need_lib_prefix=no
- ;;
- motorola)
- need_lib_prefix=no
- need_version=no
- shlibpath_overrides_runpath=no
- sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
- ;;
- esac
- ;;
-
-sysv4*MP*)
- if test -d /usr/nec ;then
- version_type=linux
- library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
- soname_spec='$libname${shared_ext}.$major'
- shlibpath_var=LD_LIBRARY_PATH
- fi
- ;;
-
-uts4*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- ;;
-
-*)
- dynamic_linker=no
- ;;
-esac
-AC_MSG_RESULT([$dynamic_linker])
-test "$dynamic_linker" = no && can_build_shared=no
-_LT_DECL([], [need_lib_prefix], [0],
- [Do we need the "lib" prefix for modules?])
-_LT_DECL([], [need_version], [0], [Do we need a version for libraries?])
-_LT_DECL([], [version_type], [0], [Library versioning type])
-_LT_DECL([], [runpath_var], [0], [Shared library runtime path variable])
-_LT_DECL([], [shlibpath_var], [0],[Shared library path variable])
-_LT_DECL([], [shlibpath_overrides_runpath], [0],
- [Is shibpath searched before the hard-coded library search path?])
-_LT_DECL([], [libname_spec], [1], [Format of library name prefix])
-_LT_DECL([], [library_names_spec], [1],
- [List of archive names. First name is the real one, the rest are links.
- The last name is the one that the linker finds with -lNAME])
-_LT_DECL([], [soname_spec], [1],
- [The coded name of the library, if different from the real name])
-_LT_DECL([], [postinstall_cmds], [2],
- [Command to use after installation of a shared archive])
-_LT_DECL([], [postuninstall_cmds], [2],
- [Command to use after uninstallation of a shared archive])
-_LT_DECL([], [finish_cmds], [2],
- [Commands used to finish a libtool library installation in a directory])
-_LT_DECL([], [finish_eval], [1],
- [As "finish_cmds", except a single script fragment to be evaled but
- not shown])
-_LT_DECL([], [hardcode_into_libs], [0],
- [Whether we should hardcode library paths into libraries])
-_LT_DECL([], [sys_lib_search_path_spec], [2],
- [Compile-time system search path for libraries])
-_LT_DECL([], [sys_lib_dlsearch_path_spec], [2],
- [Run-time system search path for libraries])
-])# AC_LIBTOOL_SYS_DYNAMIC_LINKER
-
-
-# AC_PATH_TOOL_PREFIX
-# -------------------
-# find a file program which can recognise shared library
-AC_DEFUN([AC_PATH_TOOL_PREFIX],
-[AC_REQUIRE([LT_AC_PROG_EGREP])dnl
-AC_MSG_CHECKING([for $1])
-AC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
-[case $MAGIC_CMD in
-[[\\/*] | ?:[\\/]*])
- lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
- ;;
-*)
- lt_save_MAGIC_CMD="$MAGIC_CMD"
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-dnl $ac_dummy forces splitting on constant user-supplied paths.
-dnl POSIX.2 word splitting is done only on the output of word expansions,
-dnl not every word. This closes a longstanding sh security hole.
- ac_dummy="m4_if([$2], , $PATH, [$2])"
- for ac_dir in $ac_dummy; do
- IFS="$lt_save_ifs"
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$1; then
- lt_cv_path_MAGIC_CMD="$ac_dir/$1"
- if test -n "$file_magic_test_file"; then
- case $deplibs_check_method in
- "file_magic "*)
- file_magic_regex="`expr \"$deplibs_check_method\" : \"file_magic \(.*\)\"`"
- MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
- if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
- $EGREP "$file_magic_regex" > /dev/null; then
- :
- else
- cat <<_LT_EOF 1>&2
-
-*** Warning: the command libtool uses to detect shared libraries,
-*** $file_magic_cmd, produces output that libtool cannot recognize.
-*** The result is that libtool may fail to recognize shared libraries
-*** as such. This will affect the creation of libtool libraries that
-*** depend on shared libraries, but programs linked with such libtool
-*** libraries will work regardless of this problem. Nevertheless, you
-*** may want to report the problem to your system manager and/or to
-*** bug-libtool@gnu.org
-
-_LT_EOF
- fi ;;
- esac
- fi
- break
- fi
- done
- IFS="$lt_save_ifs"
- MAGIC_CMD="$lt_save_MAGIC_CMD"
- ;;
-esac])
-MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-if test -n "$MAGIC_CMD"; then
- AC_MSG_RESULT($MAGIC_CMD)
-else
- AC_MSG_RESULT(no)
-fi
-_LT_DECL([], [MAGIC_CMD], [0],
- [Used to examine libraries when file_magic_cmd begins "file"])dnl
-])# AC_PATH_TOOL_PREFIX
-
-
-# AC_PATH_MAGIC
-# -------------
-# find a file program which can recognise a shared library
-AC_DEFUN([AC_PATH_MAGIC],
-[AC_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH)
-if test -z "$lt_cv_path_MAGIC_CMD"; then
- if test -n "$ac_tool_prefix"; then
- AC_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH)
- else
- MAGIC_CMD=:
- fi
-fi
-])# AC_PATH_MAGIC
-
-
-# AC_PROG_LD
-# ----------
-# find the pathname to the GNU or non-GNU linker
-AC_DEFUN([AC_PROG_LD],
-[AC_ARG_WITH([gnu-ld],
- [AC_HELP_STRING([--with-gnu-ld],
- [assume the C compiler uses GNU ld @<:@default=no@:>@])],
- [test "$withval" = no || with_gnu_ld=yes],
- [with_gnu_ld=no])
-AC_REQUIRE([LT_AC_PROG_SED])dnl
-AC_REQUIRE([LT_AC_PROG_EGREP])dnl
-AC_REQUIRE([AC_PROG_CC])dnl
-AC_REQUIRE([AC_CANONICAL_HOST])dnl
-AC_REQUIRE([AC_CANONICAL_BUILD])dnl
-
-ac_prog=ld
-if test "$GCC" = yes; then
- # Check if gcc -print-prog-name=ld gives a path.
- AC_MSG_CHECKING([for ld used by $CC])
- case $host in
- *-*-mingw*)
- # gcc leaves a trailing carriage return which upsets mingw
- ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
- *)
- ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
- esac
- case $ac_prog in
- # Accept absolute paths.
- [[\\/]]* | ?:[[\\/]]*)
- re_direlt='/[[^/]][[^/]]*/\.\./'
- # Canonicalize the pathname of ld
- ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'`
- while echo $ac_prog | $GREP "$re_direlt" > /dev/null 2>&1; do
- ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"`
- done
- test -z "$LD" && LD="$ac_prog"
- ;;
- "")
- # If it fails, then pretend we aren't using GCC.
- ac_prog=ld
- ;;
- *)
- # If it is relative, then search for the first ld in PATH.
- with_gnu_ld=unknown
- ;;
- esac
-elif test "$with_gnu_ld" = yes; then
- AC_MSG_CHECKING([for GNU ld])
-else
- AC_MSG_CHECKING([for non-GNU ld])
-fi
-AC_CACHE_VAL(lt_cv_path_LD,
-[if test -z "$LD"; then
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- for ac_dir in $PATH; do
- IFS="$lt_save_ifs"
- test -z "$ac_dir" && ac_dir=.
- if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
- lt_cv_path_LD="$ac_dir/$ac_prog"
- # Check to see if the program is GNU ld. I'd rather use --version,
- # but apparently some GNU ld's only accept -v.
- # Break only if it was the GNU/non-GNU ld that we prefer.
- case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
- *GNU* | *'with BFD'*)
- test "$with_gnu_ld" != no && break
- ;;
- *)
- test "$with_gnu_ld" != yes && break
- ;;
- esac
- fi
- done
- IFS="$lt_save_ifs"
-else
- lt_cv_path_LD="$LD" # Let the user override the test with a path.
-fi])
-LD="$lt_cv_path_LD"
-if test -n "$LD"; then
- AC_MSG_RESULT($LD)
-else
- AC_MSG_RESULT(no)
-fi
-test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
-AC_PROG_LD_GNU
-AC_SUBST([LD])
-
-_LT_TAGDECL([], [LD], [1], [The linker used to build libraries])
-])# AC_PROG_LD
-
-# Old name:
-AU_DEFUN([AM_PROG_LD], [AC_PROG_LD])
-
-
-# AC_PROG_LD_GNU
-# --------------
-AC_DEFUN([AC_PROG_LD_GNU],
-[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld,
-[# I'd rather use --version here, but apparently some GNU ld's only accept -v.
-case `$LD -v 2>&1 </dev/null` in
-*GNU* | *'with BFD'*)
- lt_cv_prog_gnu_ld=yes
- ;;
-*)
- lt_cv_prog_gnu_ld=no
- ;;
-esac])
-with_gnu_ld=$lt_cv_prog_gnu_ld
-])# AC_PROG_LD_GNU
-
-
-# AC_PROG_LD_RELOAD_FLAG
-# ----------------------
-# find reload flag for linker
-# -- PORTME Some linkers may need a different reload flag.
-AC_DEFUN([AC_PROG_LD_RELOAD_FLAG],
-[AC_CACHE_CHECK([for $LD option to reload object files],
- lt_cv_ld_reload_flag,
- [lt_cv_ld_reload_flag='-r'])
-reload_flag=$lt_cv_ld_reload_flag
-case $reload_flag in
-"" | " "*) ;;
-*) reload_flag=" $reload_flag" ;;
-esac
-reload_cmds='$LD$reload_flag -o $output$reload_objs'
-case $host_os in
- darwin*)
- if test "$GCC" = yes; then
- reload_cmds='$CC -nostdlib ${wl}-r -o $output$reload_objs'
- else
- reload_cmds='$LD$reload_flag -o $output$reload_objs'
- fi
- ;;
-esac
-_LT_DECL([], [reload_flag], [1], [How to create reloadable object files])dnl
-_LT_DECL([], [reload_cmds], [2])dnl
-])# AC_PROG_LD_RELOAD_FLAG
-
-
-# AC_DEPLIBS_CHECK_METHOD
-# -----------------------
-# how to check for library dependencies
-# -- PORTME fill in with the dynamic library characteristics
-AC_DEFUN([AC_DEPLIBS_CHECK_METHOD],
-[AC_REQUIRE([LT_AC_PROG_EGREP])
-AC_CACHE_CHECK([how to recognise dependent libraries],
-lt_cv_deplibs_check_method,
-[lt_cv_file_magic_cmd='$MAGIC_CMD'
-lt_cv_file_magic_test_file=
-lt_cv_deplibs_check_method='unknown'
-# Need to set the preceding variable on all platforms that support
-# interlibrary dependencies.
-# 'none' -- dependencies not supported.
-# `unknown' -- same as none, but documents that we really don't know.
-# 'pass_all' -- all dependencies passed with no checks.
-# 'test_compile' -- check by making test program.
-# 'file_magic [[regex]]' -- check by looking for files in library path
-# which responds to the $file_magic_cmd with a given extended regex.
-# If you have `file' or equivalent on your system and you're not sure
-# whether `pass_all' will *always* work, you probably want this one.
-
-case $host_os in
-aix4* | aix5*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-beos*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-bsdi4*)
- lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)'
- lt_cv_file_magic_cmd='/usr/bin/file -L'
- lt_cv_file_magic_test_file=/shlib/libc.so
- ;;
-
-cygwin*)
- # func_win32_libid is a shell function defined in ltmain.sh
- lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
- lt_cv_file_magic_cmd='func_win32_libid'
- ;;
-
- # Base MSYS/MinGW do not provide the 'file' command needed by
- # func_win32_libid shell function, so use a weaker test based on 'objdump'.
-mingw* | pw32*)
- lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
- lt_cv_file_magic_cmd='$OBJDUMP -f'
- ;;
-
-darwin* | rhapsody*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-freebsd* | kfreebsd*-gnu)
- if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
- case $host_cpu in
- i*86 )
- # Not sure whether the presence of OpenBSD here was a mistake.
- # Let's accept both of them until this is cleared up.
- lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD)/i[[3-9]]86 (compact )?demand paged shared library'
- lt_cv_file_magic_cmd=/usr/bin/file
- lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
- ;;
- esac
- else
- lt_cv_deplibs_check_method=pass_all
- fi
- ;;
-
-gnu*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-hpux10.20* | hpux11*)
- lt_cv_file_magic_cmd=/usr/bin/file
- case "$host_cpu" in
- ia64*)
- lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64'
- lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
- ;;
- hppa*64*)
- [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]']
- lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
- ;;
- *)
- lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library'
- lt_cv_file_magic_test_file=/usr/lib/libc.sl
- ;;
- esac
- ;;
-
-irix5* | irix6* | nonstopux*)
- case $LD in
- *-32|*"-32 ") libmagic=32-bit;;
- *-n32|*"-n32 ") libmagic=N32;;
- *-64|*"-64 ") libmagic=64-bit;;
- *) libmagic=never-match;;
- esac
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-# This must be Linux ELF.
-linux*)
- case $host_cpu in
- alpha*|hppa*|i*86|ia64*|m68*|mips*|powerpc*|sparc*|s390*|sh*)
- lt_cv_deplibs_check_method=pass_all ;;
- *)
- # glibc up to 2.1.1 does not perform some relocations on ARM
- # this will be overridden with pass_all, but let us keep it just in case
- lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' ;;
- esac
- lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-netbsd* | knetbsd*-gnu)
- if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
- lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
- else
- lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$'
- fi
- ;;
-
-newos6*)
- lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)'
- lt_cv_file_magic_cmd=/usr/bin/file
- lt_cv_file_magic_test_file=/usr/lib/libnls.so
- ;;
-
-nto-qnx*)
- lt_cv_deplibs_check_method=unknown
- ;;
-
-openbsd*)
- lt_cv_file_magic_cmd=/usr/bin/file
- lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
- if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB shared object'
- else
- lt_cv_deplibs_check_method='file_magic OpenBSD.* shared library'
- fi
- ;;
-
-osf3* | osf4* | osf5*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-sco3.2v5*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-solaris*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
- case $host_vendor in
- motorola)
- lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]'
- lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
- ;;
- ncr)
- lt_cv_deplibs_check_method=pass_all
- ;;
- sequent)
- lt_cv_file_magic_cmd='/bin/file'
- lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )'
- ;;
- sni)
- lt_cv_file_magic_cmd='/bin/file'
- lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib"
- lt_cv_file_magic_test_file=/lib/libc.so
- ;;
- siemens)
- lt_cv_deplibs_check_method=pass_all
- ;;
- esac
- ;;
-
-sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[[78]]* | unixware7* | sysv4*uw2*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-esac
-])
-file_magic_cmd=$lt_cv_file_magic_cmd
-deplibs_check_method=$lt_cv_deplibs_check_method
-test -z "$deplibs_check_method" && deplibs_check_method=unknown
-
-_LT_DECL([], [deplibs_check_method], [1],
- [Method to check whether dependent libraries are shared objects])
-_LT_DECL([], [file_magic_cmd], [1],
- [Command to use when deplibs_check_method == "file_magic"])
-])# AC_DEPLIBS_CHECK_METHOD
-
-
-# AC_PROG_NM
-# ----------
-# find the pathname to a BSD-compatible name lister
-AC_DEFUN([AC_PROG_NM],
-[AC_CACHE_CHECK([for BSD-compatible nm], lt_cv_path_NM,
-[if test -n "$NM"; then
- # Let the user override the test.
- lt_cv_path_NM="$NM"
-else
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do
- IFS="$lt_save_ifs"
- test -z "$ac_dir" && ac_dir=.
- tmp_nm="$ac_dir/${ac_tool_prefix}nm"
- if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
- # Check to see if the nm accepts a BSD-compat flag.
- # Adding the `sed 1q' prevents false positives on HP-UX, which says:
- # nm: unknown option "B" ignored
- # Tru64's nm complains that /dev/null is an invalid object file
- case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
- */dev/null* | *'Invalid file or object type'*)
- lt_cv_path_NM="$tmp_nm -B"
- break
- ;;
- *)
- case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
- */dev/null*)
- lt_cv_path_NM="$tmp_nm -p"
- break
- ;;
- *)
- lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
- continue # so that we can try to find one that supports BSD flags
- ;;
- esac
- esac
- fi
- done
- IFS="$lt_save_ifs"
- test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm
-fi])
-NM="$lt_cv_path_NM"
-test -z "$NM" && NM=nm
-AC_SUBST([NM])
-_LT_DECL([], [NM], [1], [A BSD-compatible nm program])dnl
-])# AC_PROG_NM
-
-# Old name:
-AU_DEFUN([AM_PROG_NM], [AC_PROG_NM])
-
-
-# AC_CHECK_LIBM
-# -------------
-# check for math library
-AC_DEFUN([AC_CHECK_LIBM],
-[AC_REQUIRE([AC_CANONICAL_HOST])dnl
-LIBM=
-case $host in
-*-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*)
- # These system don't have libm, or don't need it
- ;;
-*-ncr-sysv4.3*)
- AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw")
- AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm")
- ;;
-*)
- AC_CHECK_LIB(m, cos, LIBM="-lm")
- ;;
-esac
-])# AC_CHECK_LIBM
-
-
-# AC_LIBLTDL_CONVENIENCE([DIRECTORY])
-# -----------------------------------
-# sets LIBLTDL to the link flags for the libltdl convenience library and
-# LTDLINCL to the include flags for the libltdl header and adds
-# --enable-ltdl-convenience to the configure arguments. Note that LIBLTDL
-# and LTDLINCL are not AC_SUBSTed, nor is AC_CONFIG_SUBDIRS called. If
-# DIRECTORY is not provided, it is assumed to be `libltdl'. LIBLTDL will
-# be prefixed with '${top_builddir}/' and LTDLINCL will be prefixed with
-# '${top_srcdir}/' (note the single quotes!). If your package is not
-# flat and you're not using automake, define top_builddir and
-# top_srcdir appropriately in the Makefiles.
-AC_DEFUN([AC_LIBLTDL_CONVENIENCE],
-[case $enable_ltdl_convenience in
- no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;;
- "") enable_ltdl_convenience=yes
- ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;;
- esac
- LIBLTDL='${top_builddir}/'m4_if($#, 1,[$1], ['libltdl'])/libltdlc.la
- LTDLINCL='-I${top_srcdir}/'m4_if($#, 1, [$1], ['libltdl'])
- # For backwards non-gettext consistent compatibility...
- INCLTDL="$LTDLINCL"
-])# AC_LIBLTDL_CONVENIENCE
-
-
-# AC_LIBLTDL_INSTALLABLE([DIRECTORY])
-# -----------------------------------
-# sets LIBLTDL to the link flags for the libltdl installable library and
-# LTDLINCL to the include flags for the libltdl header and adds
-# --enable-ltdl-install to the configure arguments. Note that LIBLTDL
-# and LTDLINCL are not AC_SUBSTed, nor is AC_CONFIG_SUBDIRS called. If
-# DIRECTORY is not provided and an installed libltdl is not found, it is
-# assumed to be `libltdl'. LIBLTDL will be prefixed with '${top_builddir}/'
-# and LTDLINCL will be prefixed with '${top_srcdir}/' (note the single
-# quotes!). If your package is not flat and you're not using automake,
-# define top_builddir and top_srcdir appropriately in the Makefiles.
-# In the future, this macro may have to be called after AC_PROG_LIBTOOL.
-AC_DEFUN([AC_LIBLTDL_INSTALLABLE],
-[AC_CHECK_LIB(ltdl, lt_dlinit,
- [test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no],
- [if test x"$enable_ltdl_install" = xno; then
- AC_MSG_WARN([libltdl not installed, but installation disabled])
- else
- enable_ltdl_install=yes
- fi
- ])
- if test x"$enable_ltdl_install" = x"yes"; then
- ac_configure_args="$ac_configure_args --enable-ltdl-install"
- LIBLTDL='${top_builddir}/'m4_if($#, 1, [$1], ['libltdl'])/libltdl.la
- LTDLINCL='-I${top_srcdir}/'m4_if($#, 1, [$1], ['libltdl'])
- else
- ac_configure_args="$ac_configure_args --enable-ltdl-install=no"
- LIBLTDL="-lltdl"
- LTDLINCL=
- fi
- # For backwards non-gettext consistent compatibility...
- INCLTDL="$LTDLINCL"
-])# AC_LIBLTDL_INSTALLABLE
-
-
-# AC_LIBTOOL_PROG_COMPILER_NO_RTTI([TAGNAME])
-# -------------------------------------------
-AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI],
-[AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl
-
-_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
-
-if test "$GCC" = yes; then
- _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
-
- AC_LIBTOOL_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions],
- lt_cv_prog_compiler_rtti_exceptions,
- [-fno-rtti -fno-exceptions], [],
- [_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"])
-fi
-_LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1],
- [Compiler flag to turn off builtin functions])
-])# AC_LIBTOOL_PROG_COMPILER_NO_RTTI
-
-
-# AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE
-# ---------------------------------
-AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE],
-[AC_REQUIRE([AC_CANONICAL_HOST])dnl
-AC_REQUIRE([LT_AC_PROG_EGREP])dnl
-AC_REQUIRE([AC_PROG_CC])dnl
-AC_REQUIRE([AC_PROG_LD])dnl
-AC_REQUIRE([AC_PROG_NM])dnl
-AC_REQUIRE([AC_OBJEXT])dnl
-# Check for command to grab the raw symbol name followed by C symbol from nm.
-AC_MSG_CHECKING([command to parse $NM output from $compiler object])
-AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe],
-[
-# These are sane defaults that work on at least a few old systems.
-# [They come from Ultrix. What could be older than Ultrix?!! ;)]
-
-# Character class describing NM global symbol codes.
-symcode='[[BCDEGRST]]'
-
-# Regexp to match symbols that can be accessed directly from C.
-sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)'
-
-# Transform the above into a raw symbol and a C symbol.
-symxfrm='\1 \2\3 \3'
-
-# Transform an extracted symbol line into a proper C declaration
-lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'"
-
-# Transform an extracted symbol line into symbol name and symbol address
-lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'"
-
-# Define system-specific variables.
-case $host_os in
-aix*)
- symcode='[[BCDT]]'
- ;;
-cygwin* | mingw* | pw32*)
- symcode='[[ABCDGISTW]]'
- ;;
-hpux*) # Its linker distinguishes data from code symbols
- if test "$host_cpu" = ia64; then
- symcode='[[ABCDEGRST]]'
- fi
- lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
- lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'"
- ;;
-irix* | nonstopux*)
- symcode='[[BCDEGRST]]'
- ;;
-osf*)
- symcode='[[BCDEGQRST]]'
- ;;
-solaris* | sysv5*)
- symcode='[[BDRT]]'
- ;;
-sysv4)
- symcode='[[DFNSTU]]'
- ;;
-esac
-
-# Handle CRLF in mingw tool chain
-opt_cr=
-case $build_os in
-mingw*)
- opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp
- ;;
-esac
-
-# If we're using GNU nm, then use its standard symbol codes.
-case `$NM -V 2>&1` in
-*GNU* | *'with BFD'*)
- symcode='[[ABCDGIRSTW]]' ;;
-esac
-
-# Try without a prefix undercore, then with it.
-for ac_symprfx in "" "_"; do
-
- # Write the raw and C identifiers.
- lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*\($ac_symprfx\)$sympat$opt_cr$/$symxfrm/p'"
-
- # Check to see that the pipe works correctly.
- pipe_works=no
-
- rm -f conftest*
- cat > conftest.$ac_ext <<_LT_EOF
-#ifdef __cplusplus
-extern "C" {
-#endif
-char nm_test_var;
-void nm_test_func(){}
-#ifdef __cplusplus
-}
-#endif
-int main(){nm_test_var='a';nm_test_func();return(0);}
-_LT_EOF
-
- if AC_TRY_EVAL(ac_compile); then
- # Now try to grab the symbols.
- nlist=conftest.nm
- if AC_TRY_EVAL(NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) && test -s "$nlist"; then
- # Try sorting and uniquifying the output.
- if sort "$nlist" | uniq > "$nlist"T; then
- mv -f "$nlist"T "$nlist"
- else
- rm -f "$nlist"T
- fi
-
- # Make sure that we snagged all the symbols we need.
- if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
- if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
- cat <<_LT_EOF > conftest.$ac_ext
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-_LT_EOF
- # Now generate the symbol file.
- eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
-
- cat <<_LT_EOF >> conftest.$ac_ext
-#if defined (__STDC__) && __STDC__
-# define lt_ptr_t void *
-#else
-# define lt_ptr_t char *
-# define const
-#endif
-
-/* The mapping between symbol names and symbols. */
-const struct {
- const char *name;
- lt_ptr_t address;
-}
-lt_preloaded_symbols[[]] =
-{
-_LT_EOF
- $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
- cat <<\_LT_EOF >> conftest.$ac_ext
- {0, (lt_ptr_t) 0}
-};
-
-#ifdef __cplusplus
-}
-#endif
-_LT_EOF
- # Now try linking the two files.
- mv conftest.$ac_objext conftstm.$ac_objext
- lt_save_LIBS="$LIBS"
- lt_save_CFLAGS="$CFLAGS"
- LIBS="conftstm.$ac_objext"
- CFLAGS="$CFLAGS$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)"
- if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then
- pipe_works=yes
- fi
- LIBS="$lt_save_LIBS"
- CFLAGS="$lt_save_CFLAGS"
- else
- echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD
- fi
- else
- echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD
- fi
- else
- echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD
- fi
- else
- echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD
- cat conftest.$ac_ext >&5
- fi
- rm -f conftest* conftst*
-
- # Do not use the global_symbol_pipe unless it works.
- if test "$pipe_works" = yes; then
- break
- else
- lt_cv_sys_global_symbol_pipe=
- fi
-done
-])
-if test -z "$lt_cv_sys_global_symbol_pipe"; then
- lt_cv_sys_global_symbol_to_cdecl=
-fi
-if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
- AC_MSG_RESULT(failed)
-else
- AC_MSG_RESULT(ok)
-fi
-
-_LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1],
- [Take the output of nm and produce a listing of raw symbols and C names])
-_LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1],
- [Transform the output of nm in a proper C declaration])
-_LT_DECL([global_symbol_to_c_name_address],
- [lt_cv_sys_global_symbol_to_c_name_address], [1],
- [Transform the output of nm in a C name address pair])
-]) # AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE
-
-
-# AC_LIBTOOL_PROG_COMPILER_PIC([TAGNAME])
-# ---------------------------------------
-AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC],
-[_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)=
-_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
-_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=
-
-AC_MSG_CHECKING([for $compiler option to produce PIC])
-m4_if([$1], [CXX], [
- # C++ specific cases for pic, static, wl, etc.
- if test "$GXX" = yes; then
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
-
- case $host_os in
- aix*)
- # All AIX code is PIC.
- if test "$host_cpu" = ia64; then
- # AIX 5 now supports IA64 processor
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- fi
- ;;
- amigaos*)
- if test "$host_cpu" = m68k; then
- # FIXME: we need at least 68020 code to build shared libraries, but
- # adding the `-m68020' flag to GCC prevents building anything better,
- # like `-m68040'.
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
- fi
- ;;
- beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
- # PIC is the default for these OSes.
- ;;
- mingw* | os2* | pw32*)
- # This hack is so that the source file can tell whether it is being
- # built for inclusion in a dll (and should export symbols for example).
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'
- ;;
- darwin* | rhapsody*)
- # PIC is the default on this platform
- # Common symbols not allowed in MH_DYLIB files
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
- ;;
- *djgpp*)
- # DJGPP does not support shared libraries at all
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
- ;;
- sysv4*MP*)
- if test -d /usr/nec; then
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
- fi
- ;;
- hpux*)
- # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
- # not for PA HP-UX.
- case "$host_cpu" in
- hppa*64*|ia64*)
- ;;
- *)
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
- ;;
- esac
- ;;
- *)
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
- ;;
- esac
- else
- case $host_os in
- aix4* | aix5*)
- # All AIX code is PIC.
- if test "$host_cpu" = ia64; then
- # AIX 5 now supports IA64 processor
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- else
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
- fi
- ;;
- chorus*)
- case $cc_basename in
- cxch68)
- # Green Hills C++ Compiler
- # _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a"
- ;;
- esac
- ;;
- darwin*)
- # PIC is the default on this platform
- # Common symbols not allowed in MH_DYLIB files
- case "$cc_basename" in
- xlc*)
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon'
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- ;;
- esac
- ;;
- dgux*)
- case $cc_basename in
- ec++)
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- ;;
- ghcx)
- # Green Hills C++ Compiler
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
- ;;
- *)
- ;;
- esac
- ;;
- freebsd* | kfreebsd*-gnu)
- # FreeBSD uses GNU C++
- ;;
- hpux9* | hpux10* | hpux11*)
- case $cc_basename in
- CC)
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="${ac_cv_prog_cc_wl}-a ${ac_cv_prog_cc_wl}archive"
- if test "$host_cpu" != ia64; then
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
- fi
- ;;
- aCC)
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="${ac_cv_prog_cc_wl}-a ${ac_cv_prog_cc_wl}archive"
- case "$host_cpu" in
- hppa*64*|ia64*)
- # +Z the default
- ;;
- *)
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
- ;;
- esac
- ;;
- *)
- ;;
- esac
- ;;
- irix5* | irix6* | nonstopux*)
- case $cc_basename in
- CC)
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
- # CC pic flag -KPIC is the default.
- ;;
- *)
- ;;
- esac
- ;;
- linux*)
- case $cc_basename in
- KCC)
- # KAI C++ Compiler
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
- ;;
- icpc)
- # Intel C++
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
- ;;
- cxx)
- # Compaq C++
- # Make sure the PIC flag is empty. It appears that all Alpha
- # Linux and Compaq Tru64 Unix objects are PIC.
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
- ;;
- *)
- ;;
- esac
- ;;
- lynxos*)
- ;;
- m88k*)
- ;;
- mvs*)
- case $cc_basename in
- cxx)
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall'
- ;;
- *)
- ;;
- esac
- ;;
- netbsd*)
- ;;
- osf3* | osf4* | osf5*)
- case $cc_basename in
- KCC)
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
- ;;
- RCC)
- # Rational C++ 2.4.1
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
- ;;
- cxx)
- # Digital/Compaq C++
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- # Make sure the PIC flag is empty. It appears that all Alpha
- # Linux and Compaq Tru64 Unix objects are PIC.
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
- ;;
- *)
- ;;
- esac
- ;;
- psos*)
- ;;
- sco*)
- case $cc_basename in
- CC)
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
- ;;
- *)
- ;;
- esac
- ;;
- solaris*)
- case $cc_basename in
- CC)
- # Sun C++ 4.2, 5.x and Centerline C++
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
- ;;
- gcx)
- # Green Hills C++ Compiler
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
- ;;
- *)
- ;;
- esac
- ;;
- sunos4*)
- case $cc_basename in
- CC)
- # Sun C++ 4.x
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- ;;
- lcc)
- # Lucid
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
- ;;
- *)
- ;;
- esac
- ;;
- tandem*)
- case $cc_basename in
- NCC)
- # NonStop-UX NCC 3.20
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- ;;
- *)
- ;;
- esac
- ;;
- unixware*)
- ;;
- vxworks*)
- ;;
- *)
- _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
- ;;
- esac
- fi
-],
-[
- if test "$GCC" = yes; then
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
-
- case $host_os in
- aix*)
- # All AIX code is PIC.
- if test "$host_cpu" = ia64; then
- # AIX 5 now supports IA64 processor
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- fi
- ;;
-
- amigaos*)
- if test "$host_cpu" = m68k; then
- # FIXME: we need at least 68020 code to build shared libraries, but
- # adding the `-m68020' flag to GCC prevents building anything better,
- # like `-m68040'.
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
- fi
- ;;
-
- beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
- # PIC is the default for these OSes.
- ;;
-
- mingw* | pw32* | os2*)
- # This hack is so that the source file can tell whether it is being
- # built for inclusion in a dll (and should export symbols for example).
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'
- ;;
-
- darwin* | rhapsody*)
- # PIC is the default on this platform
- # Common symbols not allowed in MH_DYLIB files
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
- ;;
-
- msdosdjgpp*)
- # Just because we use GCC doesn't mean we suddenly get shared libraries
- # on systems that don't support them.
- _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
- enable_shared=no
- ;;
-
- sysv4*MP*)
- if test -d /usr/nec; then
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
- fi
- ;;
-
- hpux*)
- # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
- # not for PA HP-UX.
- case "$host_cpu" in
- hppa*64*|ia64*)
- # +Z the default
- ;;
- *)
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
- ;;
- esac
- ;;
-
- *)
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
- ;;
- esac
- else
- # PORTME Check for flag to pass linker flags through the system compiler.
- case $host_os in
- aix*)
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- if test "$host_cpu" = ia64; then
- # AIX 5 now supports IA64 processor
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- else
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
- fi
- ;;
- darwin*)
- # PIC is the default on this platform
- # Common symbols not allowed in MH_DYLIB files
- case "$cc_basename" in
- xlc*)
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon'
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- ;;
- esac
- ;;
-
- mingw* | pw32* | os2*)
- # This hack is so that the source file can tell whether it is being
- # built for inclusion in a dll (and should export symbols for example).
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'
- ;;
-
- hpux9* | hpux10* | hpux11*)
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
- # not for PA HP-UX.
- case "$host_cpu" in
- hppa*64*|ia64*)
- # +Z the default
- ;;
- *)
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
- ;;
- esac
- # Is there a better lt_prog_compiler_static that works with the bundled CC?
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
- ;;
-
- irix5* | irix6* | nonstopux*)
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- # PIC (with -KPIC) is the default.
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
- ;;
-
- newsos6)
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- ;;
-
- linux*)
- case $CC in
- icc* | ecc*)
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
- ;;
- ccc*)
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- # All Alpha code is PIC.
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
- ;;
- esac
- ;;
-
- osf3* | osf4* | osf5*)
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- # All OSF/1 code is PIC.
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
- ;;
-
- sco3.2v5*)
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-Kpic'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-dn'
- ;;
-
- solaris*)
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- ;;
-
- sunos4*)
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- ;;
-
- sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- ;;
-
- sysv4*MP*)
- if test -d /usr/nec ;then
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- fi
- ;;
-
- uts4*)
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- ;;
-
- *)
- _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
- ;;
- esac
- fi
-])
-case "$host_os" in
- # For platforms which do not support PIC, -DPIC is meaningless:
- *djgpp*)
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
- ;;
- *)
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])"
- ;;
-esac
-AC_MSG_RESULT([$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)])
-_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1],
- [How to pass a linker flag through the compiler])
-
-#
-# Check to make sure the PIC flag actually works.
-#
-if test -n "$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)"; then
- AC_LIBTOOL_COMPILER_OPTION([if $compiler PIC flag $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) works],
- [_LT_AC_TAGVAR(lt_prog_compiler_pic_works, $1)],
- [$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [],
- [case $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) in
- "" | " "*) ;;
- *) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)" ;;
- esac],
- [_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
- _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no])
-fi
-_LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1],
- [Additional compiler flags for building library objects])
-
-#
-# Check to make sure the static flag actually works.
-#
-AC_LIBTOOL_LINKER_OPTION([if $compiler static flag $_LT_AC_TAGVAR(lt_prog_compiler_static, $1) works],
- _LT_AC_TAGVAR(lt_prog_compiler_static_works, $1),
- $_LT_AC_TAGVAR(lt_prog_compiler_static, $1),
- [],
- [_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=])
-_LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1],
- [Compiler flag to prevent dynamic linking])
-])# AC_LIBTOOL_PROG_COMPILER_PIC
-
-
-# AC_LIBTOOL_PROG_LD_SHLIBS([TAGNAME])
-# ------------------------------------
-# See if the linker supports building shared libraries.
-AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS],
-[AC_REQUIRE([LT_AC_PROG_EGREP])dnl
-AC_REQUIRE([AC_PROG_LD])dnl
-AC_REQUIRE([AC_PROG_NM])dnl
-AC_REQUIRE([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])dnl
-AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
-m4_if([$1], [CXX], [
- _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
- case $host_os in
- aix4* | aix5*)
- # If we're using GNU nm, then we don't want the "-C" option.
- # -C means demangle to AIX nm, but means don't demangle with GNU nm
- if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
- _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols'
- else
- _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols'
- fi
- ;;
- pw32*)
- _LT_AC_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds"
- ;;
- cygwin* | mingw*)
- _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGS]] /s/.* \([[^ ]]*\)/\1 DATA/;/^.* __nm__/s/^.* __nm__\([[^ ]]*\) [[^ ]]*/\1 DATA/;/^I /d;/^[[AITW]] /s/.* //'\'' | sort | uniq > $export_symbols'
- ;;
- *)
- _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
- ;;
- esac
-], [
- runpath_var=
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=
- _LT_AC_TAGVAR(always_export_symbols, $1)=no
- _LT_AC_TAGVAR(archive_cmds, $1)=
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)=
- _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=
- _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
- _LT_AC_TAGVAR(hardcode_automatic, $1)=no
- _LT_AC_TAGVAR(hardcode_direct, $1)=no
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
- _LT_AC_TAGVAR(hardcode_minus_L, $1)=no
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
- _LT_AC_TAGVAR(inherit_rpath, $1)=no
- _LT_AC_TAGVAR(link_all_deplibs, $1)=unknown
- _LT_AC_TAGVAR(module_cmds, $1)=
- _LT_AC_TAGVAR(module_expsym_cmds, $1)=
- _LT_AC_TAGVAR(old_archive_from_new_cmds, $1)=
- _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1)=
- _LT_AC_TAGVAR(thread_safe_flag_spec, $1)=
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
- # include_expsyms should be a list of space-separated symbols to be *always*
- # included in the symbol list
- _LT_AC_TAGVAR(include_expsyms, $1)=
- # exclude_expsyms can be an extended regexp of symbols to exclude
- # it will be wrapped by ` (' and `)$', so one must not match beginning or
- # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
- # as well as any symbol that contains `d'.
- _LT_AC_TAGVAR(exclude_expsyms, $1)="_GLOBAL_OFFSET_TABLE_"
- # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
- # platforms (ab)use it in PIC code, but their linkers get confused if
- # the symbol is explicitly referenced. Since portable code cannot
- # rely on this symbol name, it's probably fine to never include it in
- # preloaded symbol tables.
- extract_expsyms_cmds=
-
- case $host_os in
- cygwin* | mingw* | pw32*)
- # FIXME: the MSVC++ port hasn't been tested in a loooong time
- # When not using gcc, we currently assume that we are using
- # Microsoft Visual C++.
- if test "$GCC" != yes; then
- with_gnu_ld=no
- fi
- ;;
- openbsd*)
- with_gnu_ld=no
- ;;
- esac
-
- _LT_AC_TAGVAR(ld_shlibs, $1)=yes
- if test "$with_gnu_ld" = yes; then
- # If archive_cmds runs LD, not CC, wlarc should be empty
- wlarc='${wl}'
-
- # See if GNU ld supports shared libraries.
- case $host_os in
- aix3* | aix4* | aix5*)
- # On AIX/PPC, the GNU linker is very broken
- if test "$host_cpu" != ia64; then
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- cat <<_LT_EOF 1>&2
-
-*** Warning: the GNU linker, at least up to release 2.9.1, is reported
-*** to be unable to reliably create shared libraries on AIX.
-*** Therefore, libtool is disabling shared libraries support. If you
-*** really care for shared libraries, you may want to modify your PATH
-*** so that a non-GNU linker is found, and then restart.
-
-_LT_EOF
- fi
- ;;
-
- amigaos*)
- if test "$host_cpu" = m68k; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
- fi
-
- # Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports
- # that the semantics of dynamic libraries on AmigaOS, at least up
- # to version 4, is to share data among multiple programs linked
- # with the same dynamic library. Since this doesn't match the
- # behavior of shared libraries on other platforms, we can't use
- # them.
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
-
- beos*)
- if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
- # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
- # support --undefined. This deserves some investigation. FIXME
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- else
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
-
- cygwin* | mingw* | pw32*)
- # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
- # as there is no search path for DLLs.
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
- _LT_AC_TAGVAR(always_export_symbols, $1)=no
- _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
- _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGS]] /s/.* \([[^ ]]*\)/\1 DATA/'\'' | $SED -e '\''/^[[AITW]] /s/.* //'\'' | sort | uniq > $export_symbols'
-
- if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib'
- # If the export-symbols file already is a .def file (1st line
- # is EXPORTS), use it as is; otherwise, prepend...
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
- cp $export_symbols $output_objdir/$soname.def;
- else
- echo EXPORTS > $output_objdir/$soname.def;
- cat $export_symbols >> $output_objdir/$soname.def;
- fi~
- $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib'
- else
- ld_shlibs=no
- fi
- ;;
-
- netbsd*)
- if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
- wlarc=
- else
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- fi
- ;;
-
- solaris* | sysv5*)
- if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- cat <<_LT_EOF 1>&2
-
-*** Warning: The releases 2.8.* of the GNU linker cannot reliably
-*** create shared libraries on Solaris systems. Therefore, libtool
-*** is disabling shared libraries support. We urge you to upgrade GNU
-*** binutils to release 2.9.1 or newer. Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-_LT_EOF
- elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- else
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
-
- sunos4*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- wlarc=
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
-
- linux*)
- if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- case `$LD -v 2>&1` in
- *\ [01].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
- *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
- *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
- *\ 2.11.*) ;; # other 2.11 versions
- *) supports_anon_versioning=yes ;;
- esac
- if test "x$supports_anon_versioning" = xyes; then
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $output_objdir/$libname.ver~cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~$echo "local: *; };" >> $output_objdir/$libname.ver~$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
- else
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)=$_LT_AC_TAGVAR(archive_cmds, $1)
- fi
- else
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
-
- *)
- if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- else
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
- esac
-
- if test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = yes; then
- runpath_var=LD_RUN_PATH
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
- # ancient GNU ld didn't support --whole-archive et. al.
- if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
- else
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
- fi
- fi
- else
- # PORTME fill in a description of your system's linker (not GNU ld)
- case $host_os in
- aix3*)
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
- _LT_AC_TAGVAR(always_export_symbols, $1)=yes
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
- # Note: this linker hardcodes the directories in LIBPATH if there
- # are no directories specified by -L.
- _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
- if test "$GCC" = yes && test -z "$link_static_flag"; then
- # Neither direct hardcoding nor static linking is supported with a
- # broken collect2.
- _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported
- fi
- ;;
-
- aix4* | aix5*)
- if test "$host_cpu" = ia64; then
- # On IA64, the linker does run time linking by default, so we don't
- # have to do anything special.
- aix_use_runtimelinking=no
- exp_sym_flag='-Bexport'
- no_entry_flag=""
- else
- # If we're using GNU nm, then we don't want the "-C" option.
- # -C means demangle to AIX nm, but means don't demangle with GNU nm
- if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
- _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols'
- else
- _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols'
- fi
- aix_use_runtimelinking=no
-
- # Test if we are trying to use run time linking or normal
- # AIX style linking. If -brtl is somewhere in LDFLAGS, we
- # need to do runtime linking.
- case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*)
- for ld_flag in $LDFLAGS; do
- if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
- aix_use_runtimelinking=yes
- break
- fi
- done
- esac
-
- exp_sym_flag='-bexport'
- no_entry_flag='-bnoentry'
- fi
-
- # When large executables or shared objects are built, AIX ld can
- # have problems creating the table of contents. If linking a library
- # or program results in "error TOC overflow" add -mminimal-toc to
- # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
- # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
-
- _LT_AC_TAGVAR(archive_cmds, $1)=''
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':'
- _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
-
- if test "$GCC" = yes; then
- case $host_os in aix4.[012]|aix4.[012].*)
- # We only want to do this on AIX 4.2 and lower, the check
- # below for broken collect2 doesn't work under 4.3+
- collect2name=`${CC} -print-prog-name=collect2`
- if test -f "$collect2name" &&
- strings "$collect2name" | $GREP resolve_lib_name >/dev/null
- then
- # We have reworked collect2
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- else
- # We have old collect2
- _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported
- # It fails to find uninstalled libraries when the uninstalled
- # path is not listed in the libpath. Setting hardcode_minus_L
- # to unsupported forces relinking
- _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
- fi
- esac
- shared_flag='-shared'
- else
- # not using gcc
- if test "$host_cpu" = ia64; then
- # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
- # chokes on -Wl,-G. The following line is correct:
- shared_flag='-G'
- else
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag='${wl}-G'
- else
- shared_flag='${wl}-bM:SRE'
- fi
- fi
- fi
-
- # It seems that -bexpall does not export symbols beginning with
- # underscore (_), so it is better to generate a list of symbols to export.
- _LT_AC_TAGVAR(always_export_symbols, $1)=yes
- if test "$aix_use_runtimelinking" = yes; then
- # Warning - without using the other runtime loading flags (-brtl),
- # -berok will link without error, but may produce a broken library.
- _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok'
- # Determine the default libpath from the value encoded in an
- # empty executable.
- _LT_AC_SYS_LIBPATH_AIX
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols $shared_flag"
- else
- if test "$host_cpu" = ia64; then
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
- _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols"
- else
- # Determine the default libpath from the value encoded in an
- # empty executable.
- _LT_AC_SYS_LIBPATH_AIX
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
- # Warning - without using the other run time loading flags,
- # -berok will link without error, but may produce a broken library.
- _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
- # -bexpall does not export symbols beginning with underscore (_)
- _LT_AC_TAGVAR(always_export_symbols, $1)=yes
- # Exported symbols can be pulled into shared objects from archives
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=' '
- _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
- # This is similar to how AIX traditionally builds it's shared libraries.
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
- fi
- fi
- ;;
-
- amigaos*)
- if test "$host_cpu" = m68k; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
- fi
- # see comment about different semantics on the GNU ld section
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
-
- bsdi4*)
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic
- ;;
-
- cygwin* | mingw* | pw32*)
- # When not using gcc, we currently assume that we are using
- # Microsoft Visual C++.
- # hardcode_libdir_flag_spec is actually meaningless, as there is
- # no search path for DLLs.
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
- # Tell ltmain to make .lib files, not .a files.
- libext=lib
- # Tell ltmain to make .dll files, not .so files.
- shrext_cmds=".dll"
- # FIXME: Setting linknames here is a bad hack.
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames='
- # The linker will automatically build a .lib file if we build a DLL.
- _LT_AC_TAGVAR(old_archive_from_new_cmds, $1)='true'
- # FIXME: Should let the user specify the lib program.
- _LT_AC_TAGVAR(old_archive_cmds, $1)='lib /OUT:$oldlib$oldobjs$old_deplibs'
- fix_srcfile_path='`cygpath -w "$srcfile"`'
- _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
- ;;
-
- darwin* | rhapsody*)
- case "$host_os" in
- rhapsody* | darwin1.[[012]])
- _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress'
- ;;
- *) # Darwin 1.3 on
- if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
- _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${Wl}suppress'
- else
- case ${MACOSX_DEPLOYMENT_TARGET} in
- 10.[[012]])
- _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
- ;;
- 10.*)
- _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup'
- ;;
- esac
- fi
- ;;
- esac
- _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
- _LT_AC_TAGVAR(hardcode_direct, $1)=no
- _LT_AC_TAGVAR(hardcode_automatic, $1)=yes
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-all_load $convenience'
- _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
- if test "$GCC" = yes ; then
- output_verbose_link_cmd='echo'
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
- _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
- # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- else
- case "$cc_basename" in
- xlc*)
- output_verbose_link_cmd='echo'
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
- _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
- # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- ;;
- *)
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- esac
- fi
- ;;
- dgux*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
-
- freebsd1*)
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
-
- # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
- # support. Future versions do this automatically, but an explicit c++rt0.o
- # does not break anything, and helps significantly (at the cost of a little
- # extra space).
- freebsd2.2*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
-
- # Unfortunately, older versions of FreeBSD 2 do not have this feature.
- freebsd2*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
-
- # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
- freebsd* | kfreebsd*-gnu)
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
-
- hpux9*)
- if test "$GCC" = yes; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
- else
- _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
- fi
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
-
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
- ;;
-
- hpux10* | hpux11*)
- if test "$GCC" = yes -a "$with_gnu_ld" = no; then
- case "$host_cpu" in
- hppa*64*|ia64*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- *)
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- esac
- else
- case "$host_cpu" in
- hppa*64*|ia64*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname -o $lib $libobjs $deplibs $linker_flags'
- ;;
- *)
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
- ;;
- esac
- fi
- if test "$with_gnu_ld" = no; then
- case "$host_cpu" in
- hppa*64*)
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
- _LT_AC_TAGVAR(hardcode_direct, $1)=no
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
- ia64*)
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_AC_TAGVAR(hardcode_direct, $1)=no
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
- ;;
- *)
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
-
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
- ;;
- esac
- fi
- ;;
-
- irix5* | irix6* | nonstopux*)
- if test "$GCC" = yes; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
- else
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir'
- fi
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
- _LT_AC_TAGVAR(inherit_rpath, $1)=yes
- _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
- ;;
-
- netbsd*)
- if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
- else
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
- fi
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
-
- newsos6)
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
-
- openbsd*)
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
- else
- case $host_os in
- openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
- ;;
- *)
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
- ;;
- esac
- fi
- ;;
-
- os2*)
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
- _LT_AC_TAGVAR(archive_cmds, $1)='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
- _LT_AC_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
- ;;
-
- osf3*)
- if test "$GCC" = yes; then
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- else
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
- fi
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
- ;;
-
- osf4* | osf5*) # as osf3* with the addition of -msym flag
- if test "$GCC" = yes; then
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
- else
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~
- $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib~$rm $lib.exp'
-
- # Both c and cxx compiler support -rpath directly
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
- fi
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
- ;;
-
- sco3.2v5*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
- runpath_var=LD_RUN_PATH
- hardcode_runpath_var=yes
- ;;
-
- solaris*)
- _LT_AC_TAGVAR(no_undefined_flag, $1)=' -z text'
- if test "$GCC" = yes; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
- $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp'
- else
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
- $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
- fi
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- case $host_os in
- solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
- *) # Supported since Solaris 2.6 (maybe 2.5.1?)
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' ;;
- esac
- _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
- ;;
-
- sunos4*)
- if test "x$host_vendor" = xsequent; then
- # Use $CC to link under sequent, because it throws in some extra .o
- # files that make .init and .fini sections work.
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
- else
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
- fi
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
-
- sysv4)
- case $host_vendor in
- sni)
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes # is this really true???
- ;;
- siemens)
- ## LD is ld it makes a PLAMLIB
- ## CC just makes a GrossModule.
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags'
- _LT_AC_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs'
- _LT_AC_TAGVAR(hardcode_direct, $1)=no
- ;;
- motorola)
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- _LT_AC_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie
- ;;
- esac
- runpath_var='LD_RUN_PATH'
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
-
- sysv4.3*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport'
- ;;
-
- sysv4*MP*)
- if test -d /usr/nec; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- runpath_var=LD_RUN_PATH
- hardcode_runpath_var=yes
- _LT_AC_TAGVAR(ld_shlibs, $1)=yes
- fi
- ;;
-
- sysv4.2uw2*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags'
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(hardcode_minus_L, $1)=no
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- hardcode_runpath_var=yes
- runpath_var=LD_RUN_PATH
- ;;
-
- sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[[78]]* | unixware7*)
- _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z ${wl}text'
- if test "$GCC" = yes; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- else
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- fi
- runpath_var='LD_RUN_PATH'
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
-
- sysv5*)
- _LT_AC_TAGVAR(no_undefined_flag, $1)=' -z text'
- # $CC -shared without GNU ld will not create a library from C++
- # object files and a static libstdc++, better avoid it by now
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
- $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- runpath_var='LD_RUN_PATH'
- ;;
-
- uts4*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
-
- *)
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- esac
-
- if test x$host_vendor = xsni; then
- case $host in
- sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
- export_dynamic_flag_spec='${wl}-Blargedynsym'
- ;;
- esac
- fi
- fi
-])
-AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)])
-test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
-
-_LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl
-_LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl
-_LT_DECL([], [extract_expsyms_cmds], [2],
- [The commands to extract the exported symbol list from a shared archive])
-
-variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
-if test "$GCC" = yes; then
- variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
-fi
-_LT_DECL([], [variables_saved_for_relink], [1],
- [Variables whose values should be saved in libtool wrapper scripts and
- restored at link time])
-
-#
-# Do we need to explicitly link libc?
-#
-case "x$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)" in
-x|xyes)
- # Assume -lc should be added
- _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
-
- if test "$enable_shared" = yes && test "$GCC" = yes; then
- case $_LT_AC_TAGVAR(archive_cmds, $1) in
- *'~'*)
- # FIXME: we may have to deal with multi-command sequences.
- ;;
- '$CC '*)
- # Test whether the compiler implicitly links with -lc since on some
- # systems, -lgcc has to come before -lc. If gcc already passes -lc
- # to ld, don't add -lc before -lgcc.
- AC_MSG_CHECKING([whether -lc should be explicitly linked in])
- $rm conftest*
- printf "$lt_simple_compile_test_code" > conftest.$ac_ext
-
- if AC_TRY_EVAL(ac_compile) 2>conftest.err; then
- soname=conftest
- lib=conftest
- libobjs=conftest.$ac_objext
- deplibs=
- wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)
- compiler_flags=-v
- linker_flags=-v
- verstring=
- output_objdir=.
- libname=conftest
- lt_save_allow_undefined_flag=$_LT_AC_TAGVAR(allow_undefined_flag, $1)
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=
- if AC_TRY_EVAL(_LT_AC_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1)
- then
- _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
- else
- _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
- fi
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag
- else
- cat conftest.err 1>&5
- fi
- $rm conftest*
- AC_MSG_RESULT([$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)])
- ;;
- esac
- fi
- ;;
-esac
-
-_LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0],
- [Whether or not to add -lc for building shared libraries])
-_LT_TAGDECL([allow_libtool_libs_with_static_runtimes],
- [enable_shared_with_static_runtimes], [0],
- [Whether or not to disallow shared libs when runtime libs are static])
-_LT_TAGDECL([], [export_dynamic_flag_spec], [1],
- [Compiler flag to allow reflexive dlopens])
-_LT_TAGDECL([], [whole_archive_flag_spec], [1],
- [Compiler flag to generate shared objects directly from archives])
-_LT_TAGDECL([], [old_archive_from_new_cmds], [2],
- [Create an old-style archive from a shared archive])
-_LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2],
- [Create a temporary old-style archive to link instead of a shared archive])
-_LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive])
-_LT_TAGDECL([], [archive_expsym_cmds], [2])
-_LT_TAGDECL([], [module_cmds], [2],
- [Commands used to build a loadable module if different from building
- a shared archive.])
-_LT_TAGDECL([], [module_expsym_cmds], [2])
-_LT_TAGDECL([], [allow_undefined_flag], [1],
- [Flag that allows shared libraries with undefined symbols to be built])
-_LT_TAGDECL([], [no_undefined_flag], [1],
- [Flag that enforces no undefined symbols])
-_LT_TAGDECL([], [hardcode_libdir_flag_spec], [1],
- [Flag to hardcode $libdir into a binary during linking.
- This must work even if $libdir does not exist])
-_LT_TAGDECL([], [hardcode_libdir_flag_spec_ld], [1],
- [If ld is used when linking, flag to hardcode $libdir into a binary
- during linking. This must work even if $libdir does not exist])
-_LT_TAGDECL([], [hardcode_libdir_separator], [1],
- [Whether we need a single "-rpath" flag with a separated argument])
-_LT_TAGDECL([], [hardcode_direct], [0],
- [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
- DIR into the resulting binary])
-_LT_TAGDECL([], [hardcode_minus_L], [0],
- [Set to "yes" if using the -LDIR flag during linking hardcodes DIR
- into the resulting binary])
-_LT_TAGDECL([], [hardcode_shlibpath_var], [0],
- [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
- into the resulting binary])
-_LT_TAGDECL([], [hardcode_automatic], [0],
- [Set to "yes" if building a shared library automatically hardcodes DIR
- into the library and all subsequent libraries and executables linked
- against it])
-_LT_TAGDECL([], [inherit_rpath], [0],
- [Set to yes if linker adds runtime paths of dependent libraries
- to runtime path list])
-_LT_TAGDECL([], [link_all_deplibs], [0],
- [Whether libtool must link a program against all its dependency libraries])
-_LT_TAGDECL([], [fix_srcfile_path], [1],
- [Fix the shell variable $srcfile for the compiler])
-_LT_TAGDECL([], [always_export_symbols], [0],
- [Set to "yes" if exported symbols are required])
-_LT_TAGDECL([], [export_symbols_cmds], [2],
- [The commands to list exported symbols])
-_LT_TAGDECL([], [exclude_expsyms], [1],
- [Symbols that should not be listed in the preloaded symbols])
-_LT_TAGDECL([], [include_expsyms], [1],
- [Symbols that must always be exported])
-dnl FIXME: Not yet implemented
-dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1],
-dnl [Compiler flag to generate thread safe objects])
-])# AC_LIBTOOL_PROG_LD_SHLIBS
-
-
-# _LT_LANG_C_CONFIG([TAG])
-# ------------------------
-# Ensure that the configuration variables for a C compiler are suitably
-# defined. These variables are subsequently used by _LT_CONFIG to write
-# the compiler configuration to `libtool'.
-m4_define([_LT_LANG_C_CONFIG],
-[AC_REQUIRE([LT_AC_PROG_EGREP])
-lt_save_CC="$CC"
-AC_LANG_PUSH(C)
-
-# Source file extension for C test sources.
-ac_ext=c
-
-# Object file extension for compiled C test sources.
-objext=o
-_LT_AC_TAGVAR(objext, $1)=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="int some_variable = 0;\n"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code='int main(){return(0);}\n'
-
-_LT_AC_SYS_COMPILER
-# Save the default compiler, since it gets overwritten when the other
-# tags are being tested, and _LT_AC_TAGVAR(compiler, []) is a NOP.
-compiler_DEFAULT=$CC
-
-#
-# Check for any special shared library compilation flags.
-#
-_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)=
-if test "$GCC" = no; then
- case $host_os in
- sco3.2v5*)
- _LT_AC_TAGVAR(lt_prog_cc_shlib, $1)='-belf'
- ;;
- esac
-fi
-if test -n "$_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)"; then
- AC_MSG_WARN([`$CC' requires `$_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)' to build shared libraries])
- if echo "$old_CC $old_CFLAGS " | $GREP "[[ ]]$_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)[[ ]]" >/dev/null; then :
- else
- AC_MSG_WARN([add `$_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)' to the CC or CFLAGS env variable and reconfigure])
- _LT_AC_TAGVAR(lt_cv_prog_cc_can_build_shared, $1)=no
- fi
-fi
-
-
-## CAVEAT EMPTOR:
-## There is no encapsulation within the following macros, do not change
-## the running order or otherwise move them around unless you know exactly
-## what you are doing...
-if test -n "$compiler"; then
- AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1)
- AC_LIBTOOL_PROG_COMPILER_PIC($1)
- AC_LIBTOOL_PROG_CC_C_O($1)
- AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
- AC_LIBTOOL_PROG_LD_SHLIBS($1)
- AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
- AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
- AC_LIBTOOL_SYS_LIB_STRIP
- AC_LIBTOOL_DLOPEN_SELF($1)
-
- # Report which library types will actually be built
- AC_MSG_CHECKING([if libtool supports shared libraries])
- AC_MSG_RESULT([$can_build_shared])
-
- AC_MSG_CHECKING([whether to build shared libraries])
- test "$can_build_shared" = "no" && enable_shared=no
-
- # On AIX, shared libraries and static libraries use the same namespace, and
- # are all built from PIC.
- case "$host_os" in
- aix3*)
- test "$enable_shared" = yes && enable_static=no
- if test -n "$RANLIB"; then
- archive_cmds="$archive_cmds~\$RANLIB \$lib"
- postinstall_cmds='$RANLIB $lib'
- fi
- ;;
-
- aix4* | aix5*)
- if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
- test "$enable_shared" = yes && enable_static=no
- fi
- ;;
- esac
- AC_MSG_RESULT([$enable_shared])
-
- AC_MSG_CHECKING([whether to build static libraries])
- # Make sure either enable_shared or enable_static is yes.
- test "$enable_shared" = yes || enable_static=yes
- AC_MSG_RESULT([$enable_static])
-
- _LT_CONFIG($1)
-fi
-AC_LANG_POP
-CC="$lt_save_CC"
-])# _LT_LANG_C_CONFIG
-
-
-# _LT_LANG_CXX_CONFIG([TAG])
-# --------------------------
-# Ensure that the configuration variables for a C++ compiler are suitably
-# defined. These variables are subsequently used by _LT_CONFIG to write
-# the compiler configuration to `libtool'.
-m4_define([_LT_LANG_CXX_CONFIG],
-[AC_LANG_PUSH(C++)
-AC_REQUIRE([LT_AC_PROG_EGREP])
-AC_REQUIRE([AC_PROG_CXX])
-AC_REQUIRE([AC_PROG_CXXCPP])
-
-_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
-_LT_AC_TAGVAR(allow_undefined_flag, $1)=
-_LT_AC_TAGVAR(always_export_symbols, $1)=no
-_LT_AC_TAGVAR(archive_expsym_cmds, $1)=
-_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=
-_LT_AC_TAGVAR(hardcode_direct, $1)=no
-_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
-_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
-_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
-_LT_AC_TAGVAR(hardcode_minus_L, $1)=no
-_LT_AC_TAGVAR(hardcode_automatic, $1)=no
-_LT_AC_TAGVAR(inherit_rpath, $1)=no
-_LT_AC_TAGVAR(module_cmds, $1)=
-_LT_AC_TAGVAR(module_expsym_cmds, $1)=
-_LT_AC_TAGVAR(link_all_deplibs, $1)=unknown
-_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
-_LT_AC_TAGVAR(no_undefined_flag, $1)=
-_LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
-_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no
-
-# Source file extension for C++ test sources.
-ac_ext=cc
-
-# Object file extension for compiled C++ test sources.
-objext=o
-_LT_AC_TAGVAR(objext, $1)=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="int some_variable = 0;\n"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code='int main(int, char *[]) { return(0); }\n'
-
-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
-_LT_AC_SYS_COMPILER
-
-# Allow CC to be a program name with arguments.
-lt_save_CC=$CC
-lt_save_LD=$LD
-lt_save_GCC=$GCC
-GCC=$GXX
-lt_save_with_gnu_ld=$with_gnu_ld
-lt_save_path_LD=$lt_cv_path_LD
-if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
- lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
-else
- unset lt_cv_prog_gnu_ld
-fi
-if test -n "${lt_cv_path_LDCXX+set}"; then
- lt_cv_path_LD=$lt_cv_path_LDCXX
-else
- unset lt_cv_path_LD
-fi
-test -z "${LDCXX+set}" || LD=$LDCXX
-CC=${CXX-"c++"}
-compiler=$CC
-_LT_AC_TAGVAR(compiler, $1)=$CC
-cc_basename=`$echo X"$compiler" | $Xsed -e 's%^.*/%%'`
-
-if test -n "$compiler"; then
- # We don't want -fno-exception when compiling C++ code, so set the
- # no_builtin_flag separately
- if test "$GXX" = yes; then
- _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
- else
- _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
- fi
-
- if test "$GXX" = yes; then
- # Set up default GNU C++ configuration
-
- AC_PROG_LD
-
- # Check if GNU C++ uses GNU ld as the underlying linker, since the
- # archiving commands below assume that GNU ld is being used.
- if test "$with_gnu_ld" = yes; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
-
- # If archive_cmds runs LD, not CC, wlarc should be empty
- # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
- # investigate it a little bit more. (MM)
- wlarc='${wl}'
-
- # ancient GNU ld didn't support --whole-archive et. al.
- if eval "`$CC -print-prog-name=ld` --help 2>&1" |
- $GREP 'no-whole-archive' > /dev/null; then
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
- else
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
- fi
- else
- with_gnu_ld=no
- wlarc=
-
- # A generic and very simple default shared library creation
- # command for GNU C++ for the case where it uses the native
- # linker, instead of GNU ld. If possible, this setting should
- # overridden to take advantage of the native linker features on
- # the platform it is being used on.
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
- fi
-
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
-
- else
- GXX=no
- with_gnu_ld=no
- wlarc=
- fi
-
- # PORTME: fill in a description of your system's C++ link characteristics
- AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
- _LT_AC_TAGVAR(ld_shlibs, $1)=yes
- case $host_os in
- aix3*)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- aix4* | aix5*)
- if test "$host_cpu" = ia64; then
- # On IA64, the linker does run time linking by default, so we don't
- # have to do anything special.
- aix_use_runtimelinking=no
- exp_sym_flag='-Bexport'
- no_entry_flag=""
- else
- aix_use_runtimelinking=no
-
- # Test if we are trying to use run time linking or normal
- # AIX style linking. If -brtl is somewhere in LDFLAGS, we
- # need to do runtime linking.
- case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*)
- for ld_flag in $LDFLAGS; do
- case $ld_flag in
- *-brtl*)
- aix_use_runtimelinking=yes
- break
- ;;
- esac
- done
- esac
-
- exp_sym_flag='-bexport'
- no_entry_flag='-bnoentry'
- fi
-
- # When large executables or shared objects are built, AIX ld can
- # have problems creating the table of contents. If linking a library
- # or program results in "error TOC overflow" add -mminimal-toc to
- # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
- # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
-
- _LT_AC_TAGVAR(archive_cmds, $1)=''
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':'
- _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
-
- if test "$GXX" = yes; then
- case $host_os in aix4.[012]|aix4.[012].*)
- # We only want to do this on AIX 4.2 and lower, the check
- # below for broken collect2 doesn't work under 4.3+
- collect2name=`${CC} -print-prog-name=collect2`
- if test -f "$collect2name" &&
- strings "$collect2name" | $GREP resolve_lib_name >/dev/null
- then
- # We have reworked collect2
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- else
- # We have old collect2
- _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported
- # It fails to find uninstalled libraries when the uninstalled
- # path is not listed in the libpath. Setting hardcode_minus_L
- # to unsupported forces relinking
- _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
- fi
- esac
- shared_flag='-shared'
- else
- # not using gcc
- if test "$host_cpu" = ia64; then
- # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
- # chokes on -Wl,-G. The following line is correct:
- shared_flag='-G'
- else
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag='${wl}-G'
- else
- shared_flag='${wl}-bM:SRE'
- fi
- fi
- fi
-
- # It seems that -bexpall does not export symbols beginning with
- # underscore (_), so it is better to generate a list of symbols to export.
- _LT_AC_TAGVAR(always_export_symbols, $1)=yes
- if test "$aix_use_runtimelinking" = yes; then
- # Warning - without using the other runtime loading flags (-brtl),
- # -berok will link without error, but may produce a broken library.
- _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok'
- # Determine the default libpath from the value encoded in an empty
- # executable.
- _LT_AC_SYS_LIBPATH_AIX
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
-
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols $shared_flag"
- else
- if test "$host_cpu" = ia64; then
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
- _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols"
- else
- # Determine the default libpath from the value encoded in an
- # empty executable.
- _LT_AC_SYS_LIBPATH_AIX
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
- # Warning - without using the other run time loading flags,
- # -berok will link without error, but may produce a broken library.
- _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
- # -bexpall does not export symbols beginning with underscore (_)
- _LT_AC_TAGVAR(always_export_symbols, $1)=yes
- # Exported symbols can be pulled into shared objects from archives
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=' '
- _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
- # This is similar to how AIX traditionally builds it's shared libraries.
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
- fi
- fi
- ;;
- chorus*)
- case $cc_basename in
- *)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- esac
- ;;
-
- cygwin* | mingw* | pw32*)
- # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
- # as there is no search path for DLLs.
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
- _LT_AC_TAGVAR(always_export_symbols, $1)=no
- _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
-
- if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib'
- # If the export-symbols file already is a .def file (1st line
- # is EXPORTS), use it as is; otherwise, prepend...
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
- cp $export_symbols $output_objdir/$soname.def;
- else
- echo EXPORTS > $output_objdir/$soname.def;
- cat $export_symbols >> $output_objdir/$soname.def;
- fi~
- $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib'
- else
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
- darwin* | rhapsody*)
- case "$host_os" in
- rhapsody* | darwin1.[[012]])
- _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress'
- ;;
- *) # Darwin 1.3 on
- if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
- _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${Wl}suppress'
- else
- case ${MACOSX_DEPLOYMENT_TARGET} in
- 10.[[012]])
- _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
- ;;
- 10.*)
- _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup'
- ;;
- esac
- fi
- ;;
- esac
- _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
- _LT_AC_TAGVAR(hardcode_direct, $1)=no
- _LT_AC_TAGVAR(hardcode_automatic, $1)=yes
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-all_load $convenience'
- _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
-
- if test "$GXX" = yes ; then
- lt_int_apple_cc_single_mod=no
- output_verbose_link_cmd='echo'
- if $CC -dumpspecs 2>&1 | $GREP 'single_module' >/dev/null ; then
- lt_int_apple_cc_single_mod=yes
- fi
- if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
- else
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
- fi
- _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
- # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's
- if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- else
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- fi
- _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- else
- case "$cc_basename" in
- xlc*)
- output_verbose_link_cmd='echo'
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
- _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
- # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- ;;
- *)
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- esac
- fi
- ;;
-
- dgux*)
- case $cc_basename in
- ec++)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- ghcx)
- # Green Hills C++ Compiler
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- *)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- esac
- ;;
- freebsd[12]*)
- # C++ shared libraries reported to be fairly broken before switch to ELF
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- freebsd-elf*)
- _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
- ;;
- freebsd* | kfreebsd*-gnu)
- # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
- # conventions
- _LT_AC_TAGVAR(ld_shlibs, $1)=yes
- ;;
- gnu*)
- ;;
- hpux9*)
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
- # but as the default
- # location of the library.
-
- case $cc_basename in
- CC)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- aCC)
- _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- #
- # There doesn't appear to be a way to prevent this compiler from
- # explicitly linking system object files so we need to strip them
- # from the output so that they don't get included in the library
- # dependencies.
- output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
- ;;
- *)
- if test "$GXX" = yes; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
- else
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
- esac
- ;;
- hpux10*|hpux11*)
- if test $with_gnu_ld = no; then
- case "$host_cpu" in
- hppa*64*)
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
- ;;
- ia64*)
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- ;;
- *)
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
- ;;
- esac
- fi
- case "$host_cpu" in
- hppa*64*)
- _LT_AC_TAGVAR(hardcode_direct, $1)=no
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
- ia64*)
- _LT_AC_TAGVAR(hardcode_direct, $1)=no
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
- # but as the default
- # location of the library.
- ;;
- *)
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
- # but as the default
- # location of the library.
- ;;
- esac
-
- case $cc_basename in
- CC)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- aCC)
- case "$host_cpu" in
- hppa*64*|ia64*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname -o $lib $linker_flags $libobjs $deplibs'
- ;;
- *)
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- ;;
- esac
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- #
- # There doesn't appear to be a way to prevent this compiler from
- # explicitly linking system object files so we need to strip them
- # from the output so that they don't get included in the library
- # dependencies.
- output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
- ;;
- *)
- if test "$GXX" = yes; then
- if test $with_gnu_ld = no; then
- case "$host_cpu" in
- ia64*|hppa*64*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname -o $lib $linker_flags $libobjs $deplibs'
- ;;
- *)
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- ;;
- esac
- fi
- else
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
- esac
- ;;
- irix5* | irix6*)
- case $cc_basename in
- CC)
- # SGI C++
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib'
-
- # Archives containing C++ object files must be created using
- # "CC -ar", where "CC" is the IRIX C++ compiler. This is
- # necessary to make sure instantiated templates are included
- # in the archive.
- _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs'
- ;;
- *)
- if test "$GXX" = yes; then
- if test "$with_gnu_ld" = no; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib'
- else
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib'
- fi
- fi
- _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
- ;;
- esac
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
- _LT_AC_TAGVAR(inherit_rpath, $1)=yes
- ;;
- linux*)
- case $cc_basename in
- KCC)
- # Kuck and Associates, Inc. (KAI) C++ Compiler
-
- # KCC will only create a shared library if the output file
- # ends with ".so" (or ".sl" for HP-UX), so rename the library
- # to its proper name (with version) after linking.
- _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib'
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- #
- # There doesn't appear to be a way to prevent this compiler from
- # explicitly linking system object files so we need to strip them
- # from the output so that they don't get included in the library
- # dependencies.
- output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
-
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath,$libdir'
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
-
- # Archives containing C++ object files must be created using
- # "CC -Bstatic", where "CC" is the KAI C++ compiler.
- _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
- ;;
- icpc)
- # Intel C++
- with_gnu_ld=yes
- _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
- ;;
- cxx)
- # Compaq C++
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols'
-
- runpath_var=LD_RUN_PATH
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- #
- # There doesn't appear to be a way to prevent this compiler from
- # explicitly linking system object files so we need to strip them
- # from the output so that they don't get included in the library
- # dependencies.
- output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
- ;;
- esac
- ;;
- lynxos*)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- m88k*)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- mvs*)
- case $cc_basename in
- cxx)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- *)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- esac
- ;;
- netbsd*)
- if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
- wlarc=
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- fi
- # Workaround some broken pre-1.5 toolchains
- output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
- ;;
- osf3*)
- case $cc_basename in
- KCC)
- # Kuck and Associates, Inc. (KAI) C++ Compiler
-
- # KCC will only create a shared library if the output file
- # ends with ".so" (or ".sl" for HP-UX), so rename the library
- # to its proper name (with version) after linking.
- _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
-
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-
- # Archives containing C++ object files must be created using
- # "CC -Bstatic", where "CC" is the KAI C++ compiler.
- _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
-
- ;;
- RCC)
- # Rational C++ 2.4.1
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- cxx)
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${objdir}/so_locations -o $lib'
-
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- #
- # There doesn't appear to be a way to prevent this compiler from
- # explicitly linking system object files so we need to strip them
- # from the output so that they don't get included in the library
- # dependencies.
- output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
- ;;
- *)
- if test "$GXX" = yes && test "$with_gnu_ld" = no; then
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib'
-
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
-
- else
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
- esac
- ;;
- osf4* | osf5*)
- case $cc_basename in
- KCC)
- # Kuck and Associates, Inc. (KAI) C++ Compiler
-
- # KCC will only create a shared library if the output file
- # ends with ".so" (or ".sl" for HP-UX), so rename the library
- # to its proper name (with version) after linking.
- _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
-
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-
- # Archives containing C++ object files must be created using
- # the KAI C++ compiler.
- _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs'
- ;;
- RCC)
- # Rational C++ 2.4.1
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- cxx)
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
- echo "-hidden">> $lib.exp~
- $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp `test -n "$verstring" && echo -set_version $verstring` -update_registry $objdir/so_locations -o $lib~
- $rm $lib.exp'
-
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- #
- # There doesn't appear to be a way to prevent this compiler from
- # explicitly linking system object files so we need to strip them
- # from the output so that they don't get included in the library
- # dependencies.
- output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
- ;;
- *)
- if test "$GXX" = yes && test "$with_gnu_ld" = no; then
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib'
-
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
-
- else
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
- esac
- ;;
- psos*)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- sco*)
- _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
- case $cc_basename in
- CC)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- *)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- esac
- ;;
- sunos4*)
- case $cc_basename in
- CC)
- # Sun C++ 4.x
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- lcc)
- # Lucid
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- *)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- esac
- ;;
- solaris*)
- case $cc_basename in
- CC)
- # Sun C++ 4.2, 5.x and Centerline C++
- _LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs'
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -nolib -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
- $CC -G${allow_undefined_flag} -nolib ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
-
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- case $host_os in
- solaris2.[0-5] | solaris2.[0-5].*) ;;
- *)
- # The C++ compiler is used as linker so we must use $wl
- # flag to pass the commands to the underlying system
- # linker. We must also pass each convience library through
- # to the system linker between allextract/defaultextract.
- # The C++ compiler will combine linker options so we
- # cannot just pass the convience library names through
- # without $wl.
- # Supported since Solaris 2.6 (maybe 2.5.1?)
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract'
- ;;
- esac
- _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
-
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- #
- # There doesn't appear to be a way to prevent this compiler from
- # explicitly linking system object files so we need to strip them
- # from the output so that they don't get included in the library
- # dependencies.
- output_verbose_link_cmd='templist=`$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-[[LR]]"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
-
- # Archives containing C++ object files must be created using
- # "CC -xar", where "CC" is the Sun C++ compiler. This is
- # necessary to make sure instantiated templates are included
- # in the archive.
- _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
- ;;
- gcx)
- # Green Hills C++ Compiler
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
-
- # The C++ compiler must be used to create the archive.
- _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
- ;;
- *)
- # GNU C++ compiler with Solaris linker
- if test "$GXX" = yes && test "$with_gnu_ld" = no; then
- _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs'
- if $CC --version | $GREP -v '^2\.7' > /dev/null; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
- $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
-
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP \"\-L\""
- else
- # g++ 2.7 appears to require `-G' NOT `-shared' on this
- # platform.
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
- $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
-
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- output_verbose_link_cmd="$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP \"\-L\""
- fi
-
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir'
- fi
- ;;
- esac
- ;;
- sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[[78]]* | unixware7*)
- _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
- ;;
- tandem*)
- case $cc_basename in
- NCC)
- # NonStop-UX NCC 3.20
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- *)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- esac
- ;;
- vxworks*)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- *)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- esac
- AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)])
- test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
-
- _LT_AC_TAGVAR(GCC, $1)="$GXX"
- _LT_AC_TAGVAR(LD, $1)="$LD"
-
- ## CAVEAT EMPTOR:
- ## There is no encapsulation within the following macros, do not change
- ## the running order or otherwise move them around unless you know exactly
- ## what you are doing...
- AC_LIBTOOL_POSTDEP_PREDEP($1)
- AC_LIBTOOL_PROG_COMPILER_PIC($1)
- AC_LIBTOOL_PROG_CC_C_O($1)
- AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
- AC_LIBTOOL_PROG_LD_SHLIBS($1)
- AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
- AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
- AC_LIBTOOL_SYS_LIB_STRIP
- AC_LIBTOOL_DLOPEN_SELF($1)
-
- _LT_CONFIG($1)
-fi
-
-AC_LANG_POP
-CC=$lt_save_CC
-LDCXX=$LD
-LD=$lt_save_LD
-GCC=$lt_save_GCC
-with_gnu_ldcxx=$with_gnu_ld
-with_gnu_ld=$lt_save_with_gnu_ld
-lt_cv_path_LDCXX=$lt_cv_path_LD
-lt_cv_path_LD=$lt_save_path_LD
-lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
-lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
-])# _LT_LANG_CXX_CONFIG
-
-
-# AC_LIBTOOL_POSTDEP_PREDEP([TAGNAME])
-# ------------------------------------
-# Figure out "hidden" library dependencies from verbose
-# compiler output when linking a shared library.
-# Parse the compiler output and extract the necessary
-# objects, libraries and library flags.
-AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP],[
-# Dependencies to place before and after the object being linked:
-_LT_AC_TAGVAR(predep_objects, $1)=
-_LT_AC_TAGVAR(postdep_objects, $1)=
-_LT_AC_TAGVAR(predeps, $1)=
-_LT_AC_TAGVAR(postdeps, $1)=
-_LT_AC_TAGVAR(compiler_lib_search_path, $1)=
-
-dnl we can't use the lt_simple_compile_test_code here,
-dnl because it contains code intended for an executable,
-dnl not a library. It's possible we should let each
-dnl tag define a new lt_????_link_test_code variable,
-dnl but it's only used here...
-m4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF
-int a;
-void foo (void) { a = 0; }
-_LT_EOF
-], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF
-class Foo
-{
-public:
- Foo (void) { a = 0; }
-private:
- int a;
-};
-_LT_EOF
-], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF
- subroutine foo
- implicit none
- integer*4 a
- a=0
- return
- end
-_LT_EOF
-], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF
-public class foo {
- private int a;
- public void bar (void) {
- a = 0;
- }
-};
-_LT_EOF
-])
-dnl Parse the compiler output and extract the necessary
-dnl objects, libraries and library flags.
-if AC_TRY_EVAL(ac_compile); then
- # Parse the compiler output and extract the necessary
- # objects, libraries and library flags.
-
- # Sentinel used to keep track of whether or not we are before
- # the conftest object file.
- pre_test_object_deps_done=no
-
- # The `*' in the case matches for architectures that use `case' in
- # $output_verbose_cmd can trigger glob expansion during the loop
- # eval without this substitution.
- output_verbose_link_cmd="`$echo \"X$output_verbose_link_cmd\" | $Xsed -e \"$no_glob_subst\"`"
-
- for p in `eval $output_verbose_link_cmd`; do
- case $p in
-
- -L* | -R* | -l*)
- # Some compilers place space between "-{L,R}" and the path.
- # Remove the space.
- if test $p = "-L" ||
- test $p = "-R"; then
- prev=$p
- continue
- else
- prev=
- fi
-
- if test "$pre_test_object_deps_done" = no; then
- case $p in
- -L* | -R*)
- # Internal compiler library paths should come after those
- # provided the user. The postdeps already come after the
- # user supplied libs so there is no need to process them.
- if test -z "$_LT_AC_TAGVAR(compiler_lib_search_path, $1)"; then
- _LT_AC_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}"
- else
- _LT_AC_TAGVAR(compiler_lib_search_path, $1)="${_LT_AC_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}"
- fi
- ;;
- # The "-l" case would never come before the object being
- # linked, so don't bother handling this case.
- esac
- else
- if test -z "$_LT_AC_TAGVAR(postdeps, $1)"; then
- _LT_AC_TAGVAR(postdeps, $1)="${prev}${p}"
- else
- _LT_AC_TAGVAR(postdeps, $1)="${_LT_AC_TAGVAR(postdeps, $1)} ${prev}${p}"
- fi
- fi
- ;;
-
- *.$objext)
- # This assumes that the test object file only shows up
- # once in the compiler output.
- if test "$p" = "conftest.$objext"; then
- pre_test_object_deps_done=yes
- continue
- fi
-
- if test "$pre_test_object_deps_done" = no; then
- if test -z "$_LT_AC_TAGVAR(predep_objects, $1)"; then
- _LT_AC_TAGVAR(predep_objects, $1)="$p"
- else
- _LT_AC_TAGVAR(predep_objects, $1)="$_LT_AC_TAGVAR(predep_objects, $1) $p"
- fi
- else
- if test -z "$_LT_AC_TAGVAR(postdep_objects, $1)"; then
- _LT_AC_TAGVAR(postdep_objects, $1)="$p"
- else
- _LT_AC_TAGVAR(postdep_objects, $1)="$_LT_AC_TAGVAR(postdep_objects, $1) $p"
- fi
- fi
- ;;
-
- *) ;; # Ignore the rest.
-
- esac
- done
-
- # Clean up.
- rm -f a.out a.exe
-else
- echo "libtool.m4: error: problem compiling $1 test program"
-fi
-
-$rm -f confest.$objext
-
-case " $_LT_AC_TAGVAR(postdeps, $1) " in
-*" -lc "*) _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no ;;
-esac
-_LT_TAGDECL([], [predep_objects], [1],
- [Dependencies to place before and after the objects being linked to
- create a shared library])
-_LT_TAGDECL([], [postdep_objects], [1])
-_LT_TAGDECL([], [predeps], [1])
-_LT_TAGDECL([], [postdeps], [1])
-_LT_TAGDECL([], [compiler_lib_search_path], [1],
- [The library search path used internally by the compiler when linking
- a shared library])
-])# AC_LIBTOOL_POSTDEP_PREDEP
-
-# _LT_LANG_F77_CONFIG([TAG])
-# --------------------------
-# Ensure that the configuration variables for a Fortran 77 compiler are
-# suitably defined. These variables are subsequently used by _LT_CONFIG
-# to write the compiler configuration to `libtool'.
-m4_define([_LT_LANG_F77_CONFIG],
-[AC_REQUIRE([AC_PROG_F77])
-AC_LANG_PUSH(Fortran 77)
-
-_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
-_LT_AC_TAGVAR(allow_undefined_flag, $1)=
-_LT_AC_TAGVAR(always_export_symbols, $1)=no
-_LT_AC_TAGVAR(archive_expsym_cmds, $1)=
-_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=
-_LT_AC_TAGVAR(hardcode_direct, $1)=no
-_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
-_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
-_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
-_LT_AC_TAGVAR(hardcode_minus_L, $1)=no
-_LT_AC_TAGVAR(hardcode_automatic, $1)=no
-_LT_AC_TAGVAR(inherit_rpath, $1)=no
-_LT_AC_TAGVAR(module_cmds, $1)=
-_LT_AC_TAGVAR(module_expsym_cmds, $1)=
-_LT_AC_TAGVAR(link_all_deplibs, $1)=unknown
-_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
-_LT_AC_TAGVAR(no_undefined_flag, $1)=
-_LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
-_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no
-
-# Source file extension for f77 test sources.
-ac_ext=f
-
-# Object file extension for compiled f77 test sources.
-objext=o
-_LT_AC_TAGVAR(objext, $1)=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code=" subroutine t\n return\n end\n"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code=" program t\n end\n"
-
-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
-_LT_AC_SYS_COMPILER
-
-# Allow CC to be a program name with arguments.
-lt_save_CC="$CC"
-CC=${F77-"f77"}
-compiler=$CC
-_LT_AC_TAGVAR(compiler, $1)=$CC
-cc_basename=`$echo X"$compiler" | $Xsed -e 's%^.*/%%'`
-
-if test -n "$compiler"; then
- AC_MSG_CHECKING([if libtool supports shared libraries])
- AC_MSG_RESULT([$can_build_shared])
-
- AC_MSG_CHECKING([whether to build shared libraries])
- test "$can_build_shared" = "no" && enable_shared=no
-
- # On AIX, shared libraries and static libraries use the same namespace, and
- # are all built from PIC.
- case "$host_os" in
- aix3*)
- test "$enable_shared" = yes && enable_static=no
- if test -n "$RANLIB"; then
- archive_cmds="$archive_cmds~\$RANLIB \$lib"
- postinstall_cmds='$RANLIB $lib'
- fi
- ;;
- aix4* | aix5*)
- test "$enable_shared" = yes && enable_static=no
- ;;
- esac
- AC_MSG_RESULT([$enable_shared])
-
- AC_MSG_CHECKING([whether to build static libraries])
- # Make sure either enable_shared or enable_static is yes.
- test "$enable_shared" = yes || enable_static=yes
- AC_MSG_RESULT([$enable_static])
-
- test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
-
- _LT_AC_TAGVAR(GCC, $1)="$G77"
- _LT_AC_TAGVAR(LD, $1)="$LD"
-
- ## CAVEAT EMPTOR:
- ## There is no encapsulation within the following macros, do not change
- ## the running order or otherwise move them around unless you know exactly
- ## what you are doing...
- AC_LIBTOOL_PROG_COMPILER_PIC($1)
- AC_LIBTOOL_PROG_CC_C_O($1)
- AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
- AC_LIBTOOL_PROG_LD_SHLIBS($1)
- AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
- AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
- AC_LIBTOOL_SYS_LIB_STRIP
-
- _LT_CONFIG($1)
-fi
-
-AC_LANG_POP
-CC="$lt_save_CC"
-])# _LT_LANG_F77_CONFIG
-
-
-# _LT_LANG_GCJ_CONFIG([TAG])
-# --------------------------
-# Ensure that the configuration variables for the GNU Java Compiler compiler
-# are suitably defined. These variables are subsequently used by _LT_CONFIG
-# to write the compiler configuration to `libtool'.
-m4_define([_LT_LANG_GCJ_CONFIG],
-[AC_REQUIRE([LT_PROG_GCJ])
-AC_LANG_SAVE
-
-# Source file extension for Java test sources.
-ac_ext=java
-
-# Object file extension for compiled Java test sources.
-objext=o
-_LT_AC_TAGVAR(objext, $1)=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="class foo {}\n"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code='public class conftest { public static void main(String[] argv) {}; }\n'
-
-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
-_LT_AC_SYS_COMPILER
-
-# Allow CC to be a program name with arguments.
-lt_save_CC="$CC"
-CC=${GCJ-"gcj"}
-compiler=$CC
-_LT_AC_TAGVAR(compiler, $1)=$CC
-
-# GCJ did not exist at the time GCC didn't implicitly link libc in.
-_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
-
-## CAVEAT EMPTOR:
-## There is no encapsulation within the following macros, do not change
-## the running order or otherwise move them around unless you know exactly
-## what you are doing...
-if test -n "$compiler"; then
- AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1)
- AC_LIBTOOL_PROG_COMPILER_PIC($1)
- AC_LIBTOOL_PROG_CC_C_O($1)
- AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
- AC_LIBTOOL_PROG_LD_SHLIBS($1)
- AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
- AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
- AC_LIBTOOL_SYS_LIB_STRIP
- AC_LIBTOOL_DLOPEN_SELF($1)
-
- _LT_CONFIG($1)
-fi
-
-AC_LANG_RESTORE
-CC="$lt_save_CC"
-])# _LT_LANG_GCJ_CONFIG
-
-
-# _LT_LANG_RC_CONFIG([TAG])
-# --------------------------
-# Ensure that the configuration variables for the Windows resource compiler
-# are suitably defined. These variables are subsequently used by _LT_CONFIG
-# to write the compiler configuration to `libtool'.
-m4_define([_LT_LANG_RC_CONFIG],
-[AC_REQUIRE([LT_PROG_RC])
-AC_LANG_SAVE
-
-# Source file extension for RC test sources.
-ac_ext=rc
-
-# Object file extension for compiled RC test sources.
-objext=o
-_LT_AC_TAGVAR(objext, $1)=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }\n'
-
-# Code to be used in simple link tests
-lt_simple_link_test_code="$lt_simple_compile_test_code"
-
-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
-_LT_AC_SYS_COMPILER
-
-# Allow CC to be a program name with arguments.
-lt_save_CC="$CC"
-CC=${RC-"windres"}
-compiler=$CC
-_LT_AC_TAGVAR(compiler, $1)=$CC
-_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
-
-if test -n "$compiler"; then
- :
- _LT_CONFIG($1)
-fi
-
-AC_LANG_RESTORE
-CC="$lt_save_CC"
-])# _LT_LANG_RC_CONFIG
-
-
-AC_DEFUN([LT_PROG_GCJ],
-[m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ],
- [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ],
- [AC_CHECK_TOOL(GCJ, gcj,)
- test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2"
- AC_SUBST(GCJFLAGS)])])dnl
-])
-AU_DEFUN([LT_AC_PROG_GCJ], [LT_PROG_GCJ])
-
-AC_DEFUN([LT_PROG_RC],
-[AC_CHECK_TOOL(RC, windres,)
-])
-AU_DEFUN([LT_AC_PROG_RC], [LT_PROG_RC])
-
-
-# LT_AC_PROG_EGREP
-# ----------------
-# If we don't have a new enough Autoconf to choose the best grep
-# available, choose the one first in the user's PATH.
-AC_DEFUN([LT_AC_PROG_EGREP],
-[AC_REQUIRE([AC_PROG_EGREP])
-test -z "$GREP" && GREP=grep
-_LT_DECL([], [GREP], [1], [A grep program that handles long line])
-_LT_DECL([], [EGREP], [1], [An ERE matcher])
-])
-
-
-# LT_AC_PROG_SED
-# --------------
-# Check for a fully-functional sed program, that truncates
-# as few characters as possible. Prefer GNU sed if found.
-AC_DEFUN([LT_AC_PROG_SED],
-[AC_PROG_SED
-test -z "$SED" && SED=sed
-_LT_DECL([], [SED], [1], [A sed program that does not truncate output])
-_LT_DECL([], [Xsed], ["\$SED -e s/^X//"],
- [Sed that helps us avoid accidentally triggering echo(1) options like -n])
-])# LT_AC_PROG_SED
-
-m4_ifndef([AC_PROG_SED], [
-############################################################
-# NOTE: This macro has been submitted for inclusion into #
-# GNU Autoconf as AC_PROG_SED. When it is available in #
-# a released version of Autoconf we should remove this #
-# macro and use it instead. #
-############################################################
-
-m4_define([AC_PROG_SED],
-[AC_MSG_CHECKING([for a sed that does not truncate output])
-AC_CACHE_VAL(lt_cv_path_SED,
-[# Loop through the user's path and test for sed and gsed.
-# Then use that list of sed's as ones to test for truncation.
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for lt_ac_prog in sed gsed; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then
- lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
- fi
- done
- done
-done
-lt_ac_max=0
-lt_ac_count=0
-# Add /usr/xpg4/bin/sed as it is typically found on Solaris
-# along with /bin/sed that truncates output.
-for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
- test ! -f $lt_ac_sed && break
- cat /dev/null > conftest.in
- lt_ac_count=0
- echo $ECHO_N "0123456789$ECHO_C" >conftest.in
- # Check for GNU sed and select it if it is found.
- if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then
- lt_cv_path_SED=$lt_ac_sed
- break
- fi
- while true; do
- cat conftest.in conftest.in >conftest.tmp
- mv conftest.tmp conftest.in
- cp conftest.in conftest.nl
- echo >>conftest.nl
- $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break
- cmp -s conftest.out conftest.nl || break
- # 10000 chars as input seems more than enough
- test $lt_ac_count -gt 10 && break
- lt_ac_count=`expr $lt_ac_count + 1`
- if test $lt_ac_count -gt $lt_ac_max; then
- lt_ac_max=$lt_ac_count
- lt_cv_path_SED=$lt_ac_sed
- fi
- done
-done
-SED=$lt_cv_path_SED
-AC_SUBST([SED])
-])
-AC_MSG_RESULT([$SED])
-])#AC_PROG_SED
-])#m4_ifndef
diff --git a/libs/sigc++2/scripts/ltoptions.m4 b/libs/sigc++2/scripts/ltoptions.m4
deleted file mode 100644
index ea3089d330..0000000000
--- a/libs/sigc++2/scripts/ltoptions.m4
+++ /dev/null
@@ -1,358 +0,0 @@
-# Helper functions for option handling. -*- Autoconf -*-
-# Written by Gary V. Vaughan <gary@gnu.org>
-
-# Copyright (C) 2004 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-#
-# This program 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 General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
-
-# serial 1
-
-# This is to help aclocal find these macros, as it can't see m4_define.
-AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])])
-
-
-# _LT_MANGLE_OPTION(NAME)
-# -----------------------
-m4_define([_LT_MANGLE_OPTION],
-[[_LT_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
-
-
-# _LT_SET_OPTION(NAME)
-# ------------------------------
-# Set option NAME. Other NAMEs are saved as a flag.
-m4_define([_LT_SET_OPTION], [m4_define(_LT_MANGLE_OPTION([$1]))])
-
-
-# _LT_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
-# -------------------------------------------
-# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
-m4_define([_LT_IF_OPTION],
-[m4_ifdef(_LT_MANGLE_OPTION([$1]), [$2], [$3])])
-
-
-# _LT_UNLESS_OPTIONS(OPTIONS, IF-NOT-SET)
-# ---------------------------------------
-# Execute IF-NOT-SET if all OPTIONS are not set.
-m4_define([_LT_UNLESS_OPTIONS],
-[AC_FOREACH([_LT_Option], [$1],
- [m4_ifdef(_LT_MANGLE_OPTION(_LT_Option),
- [m4_define([$0_found])])])[]dnl
-m4_ifdef([$0_found], [m4_undefine([$0_found])], [$2
-])[]dnl
-])
-
-
-# _LT_SET_OPTIONS(OPTIONS)
-# ------------------------
-# OPTIONS is a space-separated list of Automake options.
-# If any OPTION has a handler macro declared with LT_OPTION_DEFINE,
-# despatch to that macro; otherwise complain about the unknown option
-# and exit.
-m4_define([_LT_SET_OPTIONS],
-[AC_FOREACH([_LT_Option], [$1],
- [_LT_SET_OPTION(_LT_Option)
- m4_ifdef(_LT_MANGLE_DEFUN(_LT_Option),
- _LT_MANGLE_DEFUN(_LT_Option),
- [m4_fatal([Unknown option `]_LT_Option[' to LT][_INIT_LIBTOOL])])
- ])dnl
-dnl
-dnl Simply set some default values (i.e off) if boolean options were not
-dnl specified:
-_LT_UNLESS_OPTIONS([dlopen], enable_dlopen=no)
-_LT_UNLESS_OPTIONS([win32-dll], enable_win32_dll=no)
-dnl
-dnl If no reference was made to various pairs of opposing options, then
-dnl we run the default mode handler for the pair. For example, if neither
-dnl `shared' nor `disable-shared' was passed, we enable building of shared
-dnl archives by default:
-_LT_UNLESS_OPTIONS([shared disable-shared], [_LT_ENABLE_SHARED])
-_LT_UNLESS_OPTIONS([static disable-static], [_LT_ENABLE_STATIC])
-_LT_UNLESS_OPTIONS([pic-only no-pic], [_LT_WITH_PIC])
-_LT_UNLESS_OPTIONS([fast-install disable-fast-install],
- [_LT_ENABLE_FAST_INSTALL])
-])# _LT_SET_OPTIONS
-
-
-## ----------------------------------------- ##
-## Macros to handle LT_INIT_LIBTOOL options. ##
-## ----------------------------------------- ##
-
-m4_define([_LT_MANGLE_DEFUN],
-[[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1]), [[^A-Z0-9_]], [_])])
-
-
-# LT_OPTION_DEFINE(NAME, CODE)
-# ----------------------------
-m4_define([LT_OPTION_DEFINE],
-[m4_define(_LT_MANGLE_DEFUN([$1]), [$2])[]dnl
-])# LT_OPTION_DEFINE
-
-
-# dlopen
-# ------
-LT_OPTION_DEFINE([dlopen], [enable_dlopen=yes])
-
-AU_DEFUN([AC_LIBTOOL_DLOPEN],
-[_LT_SET_OPTION([dlopen])
-AC_DIAGNOSE([obsolete],
-[$0: Remove this warning and the call to _LT_SET_OPTION when you
-put the `dlopen' option into LT_LIBTOOL_INIT's first parameter.])
-])
-
-
-# win32-dll
-# ---------
-# Declare package support for building win32 dll's.
-LT_OPTION_DEFINE([win32-dll],
-[enable_win32_dll=yes
-
-case $host in
-*-*-cygwin* | *-*-mingw* | *-*-pw32*)
- AC_CHECK_TOOL(AS, as, false)
- AC_CHECK_TOOL(DLLTOOL, dlltool, false)
- AC_CHECK_TOOL(OBJDUMP, objdump, false)
- ;;
-esac
-
-test -z "$AS" && AS=as
-_LT_DECL([], [AS], [0], [Assembler program])dnl
-
-test -z "$DLLTOOL" && DLLTOOL=dlltool
-_LT_DECL([], [DLLTOOL], [0], [DLL creation program])dnl
-
-test -z "$OBJDUMP" && OBJDUMP=objdump
-_LT_DECL([], [OBJDUMP], [0], [Object dumper program])dnl
-])# win32-dll
-
-AU_DEFUN([AC_LIBTOOL_WIN32_DLL],
-[_LT_SET_OPTION([win32-dll])
-AC_DIAGNOSE([obsolete],
-[$0: Remove this warning and the call to _LT_SET_OPTION when you
-put the `win32-dll' option into LT_LIBTOOL_INIT's first parameter.])
-])
-
-
-# _LT_ENABLE_SHARED([DEFAULT])
-# ----------------------------
-# implement the --enable-shared flag, and supports the `shared' and
-# `disable-shared' LT_INIT_LIBTOOL options.
-# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
-m4_define([_LT_ENABLE_SHARED],
-[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl
-AC_ARG_ENABLE([shared],
- [AC_HELP_STRING([--enable-shared@<:@=PKGS@:>@],
- [build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])],
- [p=${PACKAGE-default}
- case $enableval in
- yes) enable_shared=yes ;;
- no) enable_shared=no ;;
- *)
- enable_shared=no
- # Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
- for pkg in $enableval; do
- IFS="$lt_save_ifs"
- if test "X$pkg" = "X$p"; then
- enable_shared=yes
- fi
- done
- IFS="$lt_save_ifs"
- ;;
- esac],
- [enable_shared=]_LT_ENABLE_SHARED_DEFAULT)
-
- _LT_DECL([build_libtool_libs], [enable_shared], [0],
- [Whether or not to build shared libraries])
-])# _LT_ENABLE_SHARED
-
-LT_OPTION_DEFINE([shared], [_LT_ENABLE_SHARED([yes])])
-LT_OPTION_DEFINE([disable-shared], [_LT_ENABLE_SHARED([no])])
-
-# Old names:
-AU_DEFUN([AC_ENABLE_SHARED],
-[_LT_SET_OPTION([shared])
-AC_DIAGNOSE([obsolete],
-[$0: Remove this warning and the call to _LT_SET_OPTION when you
-put the `shared' option into LT_LIBTOOL_INIT's first parameter.])
-])
-
-AU_DEFUN([AM_ENABLE_SHARED],
-[_LT_SET_OPTION([shared])
-AC_DIAGNOSE([obsolete],
-[$0: Remove this warning and the call to _LT_SET_OPTION when you
-put the `shared' option into LT_LIBTOOL_INIT's first parameter.])
-])
-
-AU_DEFUN([AC_DISABLE_SHARED],
-[_LT_SET_OPTION([disable-shared])
-AC_DIAGNOSE([obsolete],
-[$0: Remove this warning and the call to _LT_SET_OPTION when you put
-the `disable-shared' option into LT_LIBTOOL_INIT's first parameter.])
-])
-
-AU_DEFUN([AM_DISABLE_SHARED],
-[_LT_SET_OPTION([disable-shared])
-AC_DIAGNOSE([obsolete],
-[$0: Remove this warning and the call to _LT_SET_OPTION when you put
-the `disable-shared' option into LT_LIBTOOL_INIT's first parameter.])
-])
-
-
-# _LT_ENABLE_STATIC([DEFAULT])
-# ----------------------------
-# implement the --enable-static flag, and support the `static' and
-# `disable-static' LT_INIT_LIBTOOL options.
-# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
-m4_define([_LT_ENABLE_STATIC],
-[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl
-AC_ARG_ENABLE([static],
- [AC_HELP_STRING([--enable-static@<:@=PKGS@:>@],
- [build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])],
- [p=${PACKAGE-default}
- case $enableval in
- yes) enable_static=yes ;;
- no) enable_static=no ;;
- *)
- enable_static=no
- # Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
- for pkg in $enableval; do
- IFS="$lt_save_ifs"
- if test "X$pkg" = "X$p"; then
- enable_static=yes
- fi
- done
- IFS="$lt_save_ifs"
- ;;
- esac],
- [enable_static=]_LT_ENABLE_STATIC_DEFAULT)
-
- _LT_DECL([build_old_libs], [enable_static], [0],
- [Whether or not to build static libraries])
-])# _LT_ENABLE_STATIC
-
-LT_OPTION_DEFINE([static], [_LT_ENABLE_STATIC([yes])])
-LT_OPTION_DEFINE([disable-static], [_LT_ENABLE_STATIC([no])])
-
-# Old names:
-AU_DEFUN([AC_ENABLE_STATIC],
-[_LT_SET_OPTION([static])
-AC_DIAGNOSE([obsolete],
-[$0: Remove this warning and the call to _LT_SET_OPTION when you
-put the `static' option into LT_LIBTOOL_INIT's first parameter.])
-])
-
-AU_DEFUN([AM_ENABLE_STATIC],
-[_LT_SET_OPTION([static])
-AC_DIAGNOSE([obsolete],
-[$0: Remove this warning and the call to _LT_SET_OPTION when you
-put the `static' option into LT_LIBTOOL_INIT's first parameter.])
-])
-
-AU_DEFUN([AC_DISABLE_STATIC],
-[_LT_SET_OPTION([disable-static])
-AC_DIAGNOSE([obsolete],
-[$0: Remove this warning and the call to _LT_SET_OPTION when you put
-the `disable-static' option into LT_LIBTOOL_INIT's first parameter.])
-])
-
-AU_DEFUN([AM_DISABLE_STATIC],
-[_LT_SET_OPTION([disable-static])
-AC_DIAGNOSE([obsolete],
-[$0: Remove this warning and the call to _LT_SET_OPTION when you put
-the `disable-static' option into LT_LIBTOOL_INIT's first parameter.])
-])
-
-
-# _LT_ENABLE_FAST_INSTALL([DEFAULT])
-# ----------------------------------
-# implement the --enable-fast-install flag, and support the `fast-install'
-# and `disable-fast-install' LT_INIT_LIBTOOL options.
-# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
-m4_define([_LT_ENABLE_FAST_INSTALL],
-[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl
-AC_ARG_ENABLE([fast-install],
- [AC_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@],
- [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])],
- [p=${PACKAGE-default}
- case $enableval in
- yes) enable_fast_install=yes ;;
- no) enable_fast_install=no ;;
- *)
- enable_fast_install=no
- # Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
- for pkg in $enableval; do
- IFS="$lt_save_ifs"
- if test "X$pkg" = "X$p"; then
- enable_fast_install=yes
- fi
- done
- IFS="$lt_save_ifs"
- ;;
- esac],
- [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT)
-
-_LT_DECL([fast_install], [enable_fast_install], [0],
- [Whether or not to optimize for fast installation])dnl
-])# _LT_ENABLE_FAST_INSTALL
-
-LT_OPTION_DEFINE([fast-install], [_LT_ENABLE_FAST_INSTALL([yes])])
-LT_OPTION_DEFINE([disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])])
-
-# Old names:
-AU_DEFUN([AC_ENABLE_FAST_INSTALL],
-[_LT_SET_OPTION([fast-install])
-AC_DIAGNOSE([obsolete],
-[$0: Remove this warning and the call to _LT_SET_OPTION when you put
-the `fast-install' option into LT_LIBTOOL_INIT's first parameter.])
-])
-
-AU_DEFUN([AC_DISABLE_FAST_INSTALL],
-[_LT_SET_OPTION([disable-fast-install])
-AC_DIAGNOSE([obsolete],
-[$0: Remove this warning and the call to _LT_SET_OPTION when you put
-the `disable-fast-install' option into LT_LIBTOOL_INIT's first parameter.])
-])
-
-
-# _LT_WITH_PIC([MODE])
-# --------------------
-# implement the --with-pic flag, and support the `pic-only' and `no-pic'
-# LT_INIT_LIBTOOL options.
-# MODE is either `yes' or `no'. If omitted, it defaults to `both'.
-m4_define([_LT_WITH_PIC],
-[AC_ARG_WITH([pic],
- [AC_HELP_STRING([--with-pic],
- [try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
- [pic_mode="$withval"],
- [pic_mode=default])
-
-test -z "$pic_mode" && pic_mode=m4_if($#, 1, $1, default)
-
-_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl
-])# _LT_WITH_PIC
-
-LT_OPTION_DEFINE([pic-only], [_LT_WITH_PIC([yes])])
-LT_OPTION_DEFINE([no-pic], [_LT_WITH_PIC([no])])
-
-# Old name:
-AU_DEFUN([AC_LIBTOOL_PIC_MODE],
-[_LT_SET_OPTION([pic-only])
-AC_DIAGNOSE([obsolete],
-[$0: Remove this warning and the call to _LT_SET_OPTION when you
-put the `pic-only' option into LT_LIBTOOL_INIT's first parameter.])
-])
diff --git a/libs/sigc++2/scripts/ltsugar.m4 b/libs/sigc++2/scripts/ltsugar.m4
deleted file mode 100644
index c0f31aa63d..0000000000
--- a/libs/sigc++2/scripts/ltsugar.m4
+++ /dev/null
@@ -1,115 +0,0 @@
-# ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*-
-#
-# Copyright (C) 2004 Free Software Foundation, Inc.
-# Written by Gary V. Vaughan.
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program 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
-# General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-#
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-# serial 1
-
-# This is to help aclocal find these macros, as it can't see m4_define.
-AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])])
-
-
-# lt_join(SEP, ARG1, [ARG2...])
-# -----------------------------
-# Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their
-# associated separator.
-m4_define([lt_join],
-[m4_case([$#],
- [0], [m4_fatal([$0: too few arguments: $#])],
- [1], [],
- [2], [[$2]],
- [m4_ifval([$2],
- [m4_ifval([$3],
- [[$2][$1][]$0([$1], m4_shiftn(2, $@))],
- [m4_if([$#], [3],
- [$2],
- [$0([$1], [$2], m4_shiftn(3, $@))])])],
- [$0([$1], m4_shiftn(2, $@))])])[]dnl
-])
-
-
-# lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...])
-# ----------------------------------------------------------
-# Produce a SEP delimited list of all paired combinations of elements of
-# PREFIX-LIST with SUFFIX1 through SUFFIXn. Each element of the list
-# has the form PREFIXmINFIXSUFFIXn.
-m4_define([lt_combine],
-[m4_if([$2], [[]], [],
- [lt_join(m4_quote(m4_default([$1], [, ])),
- _$0([$1], m4_car($2)[$3], m4_shiftn(3, $@)),
- $0([$1], m4_cdr($2), m4_shiftn(2, $@)))])])
-m4_define([_lt_combine],
-[m4_if([$3], [], [],
- [lt_join(m4_quote(m4_default([$1], [, ])),
- [$2$3],
- $0([$1], [$2], m4_shiftn(3, $@)))])[]dnl
-])
-
-
-# lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ])
-# -----------------------------------------------------------------------
-# Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited
-# by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ.
-m4_define([lt_if_append_uniq],
-[m4_ifdef([$1],
- [m4_bmatch($3[]m4_defn([$1])$3, $3[]m4_re_escape([$2])$3,
- [$5],
- [m4_append([$1], [$2], [$3])$4])],
- [m4_append([$1], [$2], [$3])$4])])
-
-
-# lt_dict_add(DICT, KEY, VALUE)
-# -----------------------------
-m4_define([lt_dict_add],
-[m4_define([$1($2)], [$4])])
-
-
-# lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE)
-# --------------------------------------------
-m4_define([lt_dict_add_subkey],
-[m4_define([$1($2:$3)], [$4])])
-
-
-# lt_dict_fetch(DICT, KEY, [SUBKEY])
-# ----------------------------------
-m4_define([lt_dict_fetch],
-[m4_ifval([$3],
- m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]),
- m4_ifdef([$1($2)], [m4_defn([$1($2)])]))])
-
-
-# lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE])
-# -----------------------------------------------------------------
-m4_define([lt_if_dict_fetch],
-[m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4],
- [$5],
- [$6])])
-
-
-# lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...])
-# ------------------------------------------------------------
-m4_define([lt_dict_filter],
-[m4_if([$5], [], [],
- [lt_join(m4_quote(m4_default([$4], [[, ]])),
- m4_quote(lt_if_dict_fetch([$1], [$5], [$2], [$3], [$5])),
- m4_quote($0([$1], [$2], [$3], [$4], m4_shiftn(5, $@))))])dnl
-])
diff --git a/libs/sigc++2/scripts/ltversion.m4 b/libs/sigc++2/scripts/ltversion.m4
deleted file mode 100644
index 8b8db37ad4..0000000000
--- a/libs/sigc++2/scripts/ltversion.m4
+++ /dev/null
@@ -1,15 +0,0 @@
-# ltversion.m4 -- version numbers -*- Autoconf -*-
-# Generated from ltversion.in; do not edit by hand.
-
-# serial 1467
-# This file is part of GNU Libtool
-
-m4_define([LT_PACKAGE_VERSION], [])
-m4_define([LT_PACKAGE_REVISION], [1.1467])
-
-AC_DEFUN([LTVERSION_VERSION],
-[macro_version=''
-macro_revision='1.1467'
-_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
-_LT_DECL(, macro_revision, 0)
-])
diff --git a/libs/sigc++2/sigc++-2.0.pc.in b/libs/sigc++2/sigc++-2.0.pc.in
deleted file mode 100644
index 7c55753531..0000000000
--- a/libs/sigc++2/sigc++-2.0.pc.in
+++ /dev/null
@@ -1,10 +0,0 @@
-prefix=@prefix@
-exec_prefix=@exec_prefix@
-libdir=@libdir@
-includedir=@includedir@
-
-Name: libsigc++ 2
-Description: Typesafe signal and callback system for C++
-Version: @VERSION@
-Libs: -L${libdir} -lsigc-2.0
-Cflags: -I${includedir}/sigc++-2.0 -I${libdir}/sigc++-2.0/include
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
diff --git a/libs/sigc++2/sigc++config.h.in b/libs/sigc++2/sigc++config.h.in
deleted file mode 100644
index 357873fae6..0000000000
--- a/libs/sigc++2/sigc++config.h.in
+++ /dev/null
@@ -1,10 +0,0 @@
-/* sigc++config.h.in. (Generated manually.) */
-
-/* configure checks */
-#undef SIGC_GCC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
-#undef SIGC_MSVC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
-
-/* platform specific macros */
-// #define LIBSIGC_DISABLE_DEPRECATED
-// #define SIGC_NEW_DELETE_IN_LIBRARY_ONLY // only defined for MSVC to keep ABI compatibility
-#define SIGC_API