+2015-07-17 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
+
+ Require mm-common 0.9.8
+
+2015-07-17 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
+
+ Remove remaining parts of the sigc::lambda documentation
+
+ * docs/index.html: Remove link to group__lambdas.html.
+ * sigc++/adaptors/macros/bind.h.m4:
+ * sigc++/adaptors/macros/compose.h.m4:
+ * sigc++/adaptors/macros/hide.h.m4: Remove talk of sigc::group().
+ * sigc++/.gitignore:
+ * tests/.gitignore: Remove files that are no longer generated. Bug #672555.
+
+2015-07-17 Murray Cumming <murrayc@murrayc.com>
+
+ Remove remaining parts of the sigc::lambda API.
+
+ The remaining API, defined in a .cc file, does not actually end up
+ being used by applications, so we can safely remove it.
+ See https://bugzilla.gnome.org/show_bug.cgi?id=672555#c21
+
+2015-07-17 Murray Cumming <murrayc@murrayc.com>
+
+ Remove deprecated sigc::lambda API that is only in headers.
+
+ So this is an API removal (of deprecated API) but not an ABI change.
+ The remaining deprecated API in the headers is needed by the definitions
+ in lambda.cc.m4.
+ Bug #672555
+
+2015-07-14 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
+
+ C++11: Avoid the need for SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE
+
+ * sigc++/adaptors/lambda/macros/base.h.m4:
+ * sigc++/adaptors/lambda/macros/group.h.m4:
+ * sigc++/adaptors/macros/track_obj.h.m4:
+ * sigc++/macros/signal.h.m4: Remove all talk about
+ SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE.
+ * sigc++/functors/slot_base.h: Mentioned that
+ SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE is not needed any more.
+ * tests/test_cpp11_lambda.cc:
+ * tests/test_track_obj.cc: Remove calls to
+ SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE and tests for C++11 capability.
+ * sigc++/functors/macros/functor_trait.h.m4: Add class
+ can_deduce_result_type_with_decltype<>. Use it as default value for the new
+ template parameter I_can_use_decltype in struct functor_trait<>.
+ Bug #672555.
+ Murray Cumming made the changes of all files except functor_trait.h.m4.
+
+2015-07-14 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
+
+ Require C++11
+
+ * configure.ac: Use MM_AX_CXX_COMPILE_STDCXX_11 to check for compiler
+ support for C++11 and use it (--std=c++11 for current versions of
+ g++). Bug #672555.
+
2015-02-28 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
2.4.1
tests/test_exception_catch/test_exception_catch.vcproj \
tests/test_functor_trait/test_functor_trait.vcproj \
tests/test_hide/test_hide.vcproj \
- tests/test_lambda/test_lambda.vcproj \
tests/test_mem_fun/test_mem_fun.vcproj \
tests/test_ptr_fun/test_ptr_fun.vcproj \
tests/test_retype/test_retype.vcproj \
#define SIGCXX_MICRO_VERSION 1
/* Minor version number of sigc++. */
-#define SIGCXX_MINOR_VERSION 4
+#define SIGCXX_MINOR_VERSION 5
/* Detect Win32 platform */
#ifdef _WIN32
#include <winver.h>\r
\r
VS_VERSION_INFO VERSIONINFO\r
- FILEVERSION 2,4,1,1\r
- PRODUCTVERSION 2,4,1,1\r
+ FILEVERSION 2,5,1,1\r
+ PRODUCTVERSION 2,5,1,1\r
FILEFLAGSMASK 0\r
FILEFLAGS 0x0L\r
FILEOS VOS__WINDOWS32\r
BEGIN\r
VALUE "CompanyName", "The libsigc++ development team (see AUTHORS)"\r
VALUE "FileDescription", "The Typesafe Callback Framework for C++"\r
- VALUE "FileVersion", "2.4.1"\r
+ VALUE "FileVersion", "2.5.1"\r
VALUE "LegalCopyright", "Distribution is under the LGPL (see COPYING)"\r
VALUE "OriginalFilename", "sigc-2.0.dll"\r
VALUE "ProductName", "libsigc++"\r
- VALUE "ProductVersion", "2.4.1"\r
+ VALUE "ProductVersion", "2.5.1"\r
END\r
END\r
BLOCK "VarFileInfo"\r
+++ /dev/null
-<?xml version="1.0" encoding="Windows-1252"?>\r
-<VisualStudioProject\r
- ProjectType="Visual C++"\r
- Version="7.10"\r
- Name="test_lambda"\r
- ProjectGUID="{EB6B3891-3DC1-4F2F-B2AE-3209B858BE52}"\r
- Keyword="Win32Proj">\r
- <Platforms>\r
- <Platform\r
- Name="Win32"/>\r
- </Platforms>\r
- <Configurations>\r
- <Configuration\r
- Name="Debug|Win32"\r
- OutputDirectory="Debug"\r
- IntermediateDirectory="Debug"\r
- ConfigurationType="1"\r
- CharacterSet="2">\r
- <Tool\r
- Name="VCCLCompilerTool"\r
- Optimization="0"\r
- AdditionalIncludeDirectories="$(SolutionDir);$(SolutionDir)\.."\r
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"\r
- MinimalRebuild="TRUE"\r
- BasicRuntimeChecks="3"\r
- RuntimeLibrary="3"\r
- RuntimeTypeInfo="TRUE"\r
- UsePrecompiledHeader="0"\r
- WarningLevel="3"\r
- Detect64BitPortabilityProblems="TRUE"\r
- DebugInformationFormat="4"/>\r
- <Tool\r
- Name="VCCustomBuildTool"/>\r
- <Tool\r
- Name="VCLinkerTool"\r
- OutputFile="$(OutDir)/test_lambda.exe"\r
- LinkIncremental="2"\r
- GenerateDebugInformation="TRUE"\r
- ProgramDatabaseFile="$(OutDir)/test_lambda.pdb"\r
- SubSystem="1"\r
- TargetMachine="1"/>\r
- <Tool\r
- Name="VCMIDLTool"/>\r
- <Tool\r
- Name="VCPostBuildEventTool"/>\r
- <Tool\r
- Name="VCPreBuildEventTool"/>\r
- <Tool\r
- Name="VCPreLinkEventTool"/>\r
- <Tool\r
- Name="VCResourceCompilerTool"/>\r
- <Tool\r
- Name="VCWebServiceProxyGeneratorTool"/>\r
- <Tool\r
- Name="VCXMLDataGeneratorTool"/>\r
- <Tool\r
- Name="VCWebDeploymentTool"/>\r
- <Tool\r
- Name="VCManagedWrapperGeneratorTool"/>\r
- <Tool\r
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>\r
- </Configuration>\r
- <Configuration\r
- Name="Release|Win32"\r
- OutputDirectory="Release"\r
- IntermediateDirectory="Release"\r
- ConfigurationType="1"\r
- CharacterSet="2">\r
- <Tool\r
- Name="VCCLCompilerTool"\r
- AdditionalIncludeDirectories="$(SolutionDir);$(SolutionDir)\.."\r
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"\r
- RuntimeLibrary="2"\r
- RuntimeTypeInfo="TRUE"\r
- UsePrecompiledHeader="0"\r
- WarningLevel="3"\r
- Detect64BitPortabilityProblems="TRUE"\r
- DebugInformationFormat="3"/>\r
- <Tool\r
- Name="VCCustomBuildTool"/>\r
- <Tool\r
- Name="VCLinkerTool"\r
- OutputFile="$(OutDir)/test_lambda.exe"\r
- LinkIncremental="1"\r
- GenerateDebugInformation="TRUE"\r
- SubSystem="1"\r
- OptimizeReferences="2"\r
- EnableCOMDATFolding="2"\r
- TargetMachine="1"/>\r
- <Tool\r
- Name="VCMIDLTool"/>\r
- <Tool\r
- Name="VCPostBuildEventTool"/>\r
- <Tool\r
- Name="VCPreBuildEventTool"/>\r
- <Tool\r
- Name="VCPreLinkEventTool"/>\r
- <Tool\r
- Name="VCResourceCompilerTool"/>\r
- <Tool\r
- Name="VCWebServiceProxyGeneratorTool"/>\r
- <Tool\r
- Name="VCXMLDataGeneratorTool"/>\r
- <Tool\r
- Name="VCWebDeploymentTool"/>\r
- <Tool\r
- Name="VCManagedWrapperGeneratorTool"/>\r
- <Tool\r
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>\r
- </Configuration>\r
- </Configurations>\r
- <References>\r
- </References>\r
- <Files>\r
- <Filter\r
- Name="Source Files"\r
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"\r
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">\r
- <File\r
- RelativePath="..\..\blank.cpp">\r
- </File>\r
- <File\r
- RelativePath="..\..\..\tests\test_lambda.cc">\r
- <FileConfiguration\r
- Name="Debug|Win32">\r
- <Tool\r
- Name="VCCLCompilerTool"\r
- UsePrecompiledHeader="0"/>\r
- </FileConfiguration>\r
- </File>\r
- </Filter>\r
- <Filter\r
- Name="Header Files"\r
- Filter="h;hpp;hxx;hm;inl;inc;xsd"\r
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}">\r
- </Filter>\r
- <Filter\r
- Name="Resource Files"\r
- Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"\r
- UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}">\r
- </Filter>\r
- </Files>\r
- <Globals>\r
- </Globals>\r
-</VisualStudioProject>\r
tests/test_exception_catch/test_exception_catch.vcproj \
tests/test_functor_trait/test_functor_trait.vcproj \
tests/test_hide/test_hide.vcproj \
- tests/test_lambda/test_lambda.vcproj \
tests/test_mem_fun/test_mem_fun.vcproj \
tests/test_ptr_fun/test_ptr_fun.vcproj \
tests/test_retype/test_retype.vcproj \
#define SIGCXX_MICRO_VERSION 1
/* Minor version number of sigc++. */
-#define SIGCXX_MINOR_VERSION 4
+#define SIGCXX_MINOR_VERSION 5
/* Detect Win32 platform */
#ifdef _WIN32
#include <winver.h>\r
\r
VS_VERSION_INFO VERSIONINFO\r
- FILEVERSION 2,4,1,1\r
- PRODUCTVERSION 2,4,1,1\r
+ FILEVERSION 2,5,1,1\r
+ PRODUCTVERSION 2,5,1,1\r
FILEFLAGSMASK 0\r
FILEFLAGS 0x0L\r
FILEOS VOS__WINDOWS32\r
BEGIN\r
VALUE "CompanyName", "The libsigc++ development team (see AUTHORS)"\r
VALUE "FileDescription", "The Typesafe Callback Framework for C++"\r
- VALUE "FileVersion", "2.4.1"\r
+ VALUE "FileVersion", "2.5.1"\r
VALUE "LegalCopyright", "Distribution is under the LGPL (see COPYING)"\r
VALUE "OriginalFilename", "sigc-2.0.dll"\r
VALUE "ProductName", "libsigc++"\r
- VALUE "ProductVersion", "2.4.1"\r
+ VALUE "ProductVersion", "2.5.1"\r
END\r
END\r
BLOCK "VarFileInfo"\r
+++ /dev/null
-<?xml version="1.0" encoding="Windows-1252"?>\r
-<VisualStudioProject\r
- ProjectType="Visual C++"\r
- Version="7.10"\r
- Name="test_lambda"\r
- ProjectGUID="{EB6B3891-3DC1-4F2F-B2AE-3209B858BE52}"\r
- Keyword="Win32Proj">\r
- <Platforms>\r
- <Platform\r
- Name="Win32"/>\r
- </Platforms>\r
- <Configurations>\r
- <Configuration\r
- Name="Debug|Win32"\r
- OutputDirectory="Debug"\r
- IntermediateDirectory="Debug"\r
- ConfigurationType="1"\r
- CharacterSet="2">\r
- <Tool\r
- Name="VCCLCompilerTool"\r
- Optimization="0"\r
- AdditionalIncludeDirectories="$(SolutionDir);$(SolutionDir)\.."\r
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"\r
- MinimalRebuild="TRUE"\r
- BasicRuntimeChecks="3"\r
- RuntimeLibrary="3"\r
- RuntimeTypeInfo="TRUE"\r
- UsePrecompiledHeader="0"\r
- WarningLevel="3"\r
- Detect64BitPortabilityProblems="TRUE"\r
- DebugInformationFormat="4"/>\r
- <Tool\r
- Name="VCCustomBuildTool"/>\r
- <Tool\r
- Name="VCLinkerTool"\r
- OutputFile="$(OutDir)/test_lambda.exe"\r
- LinkIncremental="2"\r
- GenerateDebugInformation="TRUE"\r
- ProgramDatabaseFile="$(OutDir)/test_lambda.pdb"\r
- SubSystem="1"\r
- TargetMachine="1"/>\r
- <Tool\r
- Name="VCMIDLTool"/>\r
- <Tool\r
- Name="VCPostBuildEventTool"/>\r
- <Tool\r
- Name="VCPreBuildEventTool"/>\r
- <Tool\r
- Name="VCPreLinkEventTool"/>\r
- <Tool\r
- Name="VCResourceCompilerTool"/>\r
- <Tool\r
- Name="VCWebServiceProxyGeneratorTool"/>\r
- <Tool\r
- Name="VCXMLDataGeneratorTool"/>\r
- <Tool\r
- Name="VCWebDeploymentTool"/>\r
- <Tool\r
- Name="VCManagedWrapperGeneratorTool"/>\r
- <Tool\r
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>\r
- </Configuration>\r
- <Configuration\r
- Name="Release|Win32"\r
- OutputDirectory="Release"\r
- IntermediateDirectory="Release"\r
- ConfigurationType="1"\r
- CharacterSet="2">\r
- <Tool\r
- Name="VCCLCompilerTool"\r
- AdditionalIncludeDirectories="$(SolutionDir);$(SolutionDir)\.."\r
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"\r
- RuntimeLibrary="2"\r
- RuntimeTypeInfo="TRUE"\r
- UsePrecompiledHeader="0"\r
- WarningLevel="3"\r
- Detect64BitPortabilityProblems="TRUE"\r
- DebugInformationFormat="3"/>\r
- <Tool\r
- Name="VCCustomBuildTool"/>\r
- <Tool\r
- Name="VCLinkerTool"\r
- OutputFile="$(OutDir)/test_lambda.exe"\r
- LinkIncremental="1"\r
- GenerateDebugInformation="TRUE"\r
- SubSystem="1"\r
- OptimizeReferences="2"\r
- EnableCOMDATFolding="2"\r
- TargetMachine="1"/>\r
- <Tool\r
- Name="VCMIDLTool"/>\r
- <Tool\r
- Name="VCPostBuildEventTool"/>\r
- <Tool\r
- Name="VCPreBuildEventTool"/>\r
- <Tool\r
- Name="VCPreLinkEventTool"/>\r
- <Tool\r
- Name="VCResourceCompilerTool"/>\r
- <Tool\r
- Name="VCWebServiceProxyGeneratorTool"/>\r
- <Tool\r
- Name="VCXMLDataGeneratorTool"/>\r
- <Tool\r
- Name="VCWebDeploymentTool"/>\r
- <Tool\r
- Name="VCManagedWrapperGeneratorTool"/>\r
- <Tool\r
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>\r
- </Configuration>\r
- </Configurations>\r
- <References>\r
- </References>\r
- <Files>\r
- <Filter\r
- Name="Source Files"\r
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"\r
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">\r
- <File\r
- RelativePath="..\..\blank.cpp">\r
- </File>\r
- <File\r
- RelativePath="..\..\..\tests\test_lambda.cc">\r
- <FileConfiguration\r
- Name="Debug|Win32">\r
- <Tool\r
- Name="VCCLCompilerTool"\r
- UsePrecompiledHeader="0"/>\r
- </FileConfiguration>\r
- </File>\r
- </Filter>\r
- <Filter\r
- Name="Header Files"\r
- Filter="h;hpp;hxx;hm;inl;inc;xsd"\r
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}">\r
- </Filter>\r
- <Filter\r
- Name="Resource Files"\r
- Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"\r
- UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}">\r
- </Filter>\r
- </Files>\r
- <Globals>\r
- </Globals>\r
-</VisualStudioProject>\r
tests/test_functor_trait/test_functor_trait.vcxproj.filters \
tests/test_hide/test_hide.vcxproj \
tests/test_hide/test_hide.vcxproj.filters \
- tests/test_lambda/test_lambda.vcxproj \
- tests/test_lambda/test_lambda.vcxproj.filters \
tests/test_limit_reference/test_limit_reference.vcxproj \
tests/test_limit_reference/test_limit_reference.vcxproj.filters \
tests/test_mem_fun/test_mem_fun.vcxproj \
#define SIGCXX_MICRO_VERSION 1
/* Minor version number of sigc++. */
-#define SIGCXX_MINOR_VERSION 4
+#define SIGCXX_MINOR_VERSION 5
/* Detect Win32 platform */
#ifdef _WIN32
#include <winver.h>
VS_VERSION_INFO VERSIONINFO
- FILEVERSION 2,4,1,1
- PRODUCTVERSION 2,4,1,1
+ FILEVERSION 2,5,1,1
+ PRODUCTVERSION 2,5,1,1
FILEFLAGSMASK 0
FILEFLAGS 0x0L
FILEOS VOS__WINDOWS32
BEGIN
VALUE "CompanyName", "The libsigc++ development team (see AUTHORS)"
VALUE "FileDescription", "The Typesafe Callback Framework for C++"
- VALUE "FileVersion", "2.4.1"
+ VALUE "FileVersion", "2.5.1"
VALUE "LegalCopyright", "Distribution is under the LGPL (see COPYING)"
VALUE "OriginalFilename", "sigc-2.0.dll"
VALUE "ProductName", "libsigc++"
- VALUE "ProductVersion", "2.4.1"
+ VALUE "ProductVersion", "2.5.1"
END
END
BLOCK "VarFileInfo"
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectGuid>{73000FE7-961D-4DE3-ABD6-83A8A851DDD5}</ProjectGuid>
- <RootNamespace>test_lambda</RootNamespace>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <UseDebugLibraries>true</UseDebugLibraries>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <UseDebugLibraries>false</UseDebugLibraries>
- <WholeProgramOptimization>true</WholeProgramOptimization>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <OutDir>$(PlatformName)\$(Configuration)\</OutDir>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <IntDir>$(PlatformName)\$(Configuration)\</IntDir>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <OutDir>$(PlatformName)\$(Configuration)\</OutDir>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <IntDir>$(PlatformName)\$(Configuration)\</IntDir>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <WarningLevel>Level3</WarningLevel>
- <Optimization>Disabled</Optimization>
- <AdditionalIncludeDirectories>$(SolutionDir);$(SolutionDir)\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ClCompile>
- <Link>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <WarningLevel>Level3</WarningLevel>
- <Optimization>MaxSpeed</Optimization>
- <FunctionLevelLinking>true</FunctionLevelLinking>
- <IntrinsicFunctions>true</IntrinsicFunctions>
- <AdditionalIncludeDirectories>$(SolutionDir);$(SolutionDir)\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ClCompile>
- <Link>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <OptimizeReferences>true</OptimizeReferences>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="..\..\..\tests\testutilities.cc" />
- <ClCompile Include="..\..\..\tests\test_lambda.cc" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="..\..\..\tests\testutilities.h" />
- </ItemGroup>
- <ItemGroup>
- <ProjectReference Include="..\..\libsigc++2.vcxproj">
- <Project>{83997ef6-02d6-4cdb-8b3c-dbca3018cc72}</Project>
- </ProjectReference>
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
- <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
- </Filter>
- <Filter Include="Header Files">
- <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- </Filter>
- <Filter Include="Resource Files">
- <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
- <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="..\..\..\tests\test_lambda.cc">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\tests\testutilities.cc">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="..\..\..\tests\testutilities.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- </ItemGroup>
-</Project>
\ No newline at end of file
$(top_srcdir)/MSVC_Net2008/sigc.rc.in \
$(top_srcdir)/MSVC_Net2010/sigc.rc.in $(dist_noinst_SCRIPTS) \
$(dist_noinst_DATA) COPYING TODO build/compile \
- build/config.guess build/config.sub build/depcomp \
- build/install-sh build/missing build/ltmain.sh \
- $(top_srcdir)/build/compile $(top_srcdir)/build/config.guess \
+ build/config.guess build/config.sub build/install-sh \
+ build/missing build/ltmain.sh $(top_srcdir)/build/compile \
+ $(top_srcdir)/build/config.guess \
$(top_srcdir)/build/config.sub $(top_srcdir)/build/install-sh \
$(top_srcdir)/build/ltmain.sh $(top_srcdir)/build/missing
subdir = .
EXEEXT = @EXEEXT@
FGREP = @FGREP@
GREP = @GREP@
+HAVE_CXX11 = @HAVE_CXX11@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
tests/test_exception_catch/test_exception_catch.vcproj \
tests/test_functor_trait/test_functor_trait.vcproj \
tests/test_hide/test_hide.vcproj \
- tests/test_lambda/test_lambda.vcproj \
tests/test_mem_fun/test_mem_fun.vcproj \
tests/test_ptr_fun/test_ptr_fun.vcproj \
tests/test_retype/test_retype.vcproj \
tests/test_exception_catch/test_exception_catch.vcproj \
tests/test_functor_trait/test_functor_trait.vcproj \
tests/test_hide/test_hide.vcproj \
- tests/test_lambda/test_lambda.vcproj \
tests/test_mem_fun/test_mem_fun.vcproj \
tests/test_ptr_fun/test_ptr_fun.vcproj \
tests/test_retype/test_retype.vcproj \
tests/test_functor_trait/test_functor_trait.vcxproj.filters \
tests/test_hide/test_hide.vcxproj \
tests/test_hide/test_hide.vcxproj.filters \
- tests/test_lambda/test_lambda.vcxproj \
- tests/test_lambda/test_lambda.vcxproj.filters \
tests/test_limit_reference/test_limit_reference.vcxproj \
tests/test_limit_reference/test_limit_reference.vcxproj.filters \
tests/test_mem_fun/test_mem_fun.vcxproj \
+2.5.1 (unstable):
+
+* Use (and require) C++11
+ (Kjell Ahlstedt)
+* Using C++11 lambda functions to create sigc::slots:
+ Avoid the need for SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE.
+ (Kjell Ahlstedt)
+* Remove the already-deprecated sigc::lambda (and sigc::group) API.
+ This is an API change but should not be an ABI change, so it should
+ only affect you when rebuilding applications, if you use this API.
+ (Murray Cumming, Kjell Ahlstedt)
+
+
2.4.1 (stable):
* A slot's functor is destroyed when an empty slot is assigned to the slot.
If you have problems, you may need to regenerate the build system entirely.
To do so, use the procedure documented by the package, typically 'autoreconf'.])])
-# Copyright (C) 2002-2013 Free Software Foundation, Inc.
+# pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*-
+# serial 1 (pkg-config-0.24)
+#
+# Copyright © 2004 Scott James Remnant <scott@netsplit.com>.
#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
+# 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.
-# AM_AUTOMAKE_VERSION(VERSION)
-# ----------------------------
-# Automake X.Y traces this macro to ensure aclocal.m4 has been
-# generated from the m4 files accompanying Automake X.Y.
-# (This private macro should not be called outside this file.)
-AC_DEFUN([AM_AUTOMAKE_VERSION],
-[am__api_version='1.14'
-dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
-dnl require some minimum version. Point them to the right macro.
-m4_if([$1], [1.14.1], [],
- [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
-])
+# PKG_PROG_PKG_CONFIG([MIN-VERSION])
+# ----------------------------------
+AC_DEFUN([PKG_PROG_PKG_CONFIG],
+[m4_pattern_forbid([^_?PKG_[A-Z_]+$])
+m4_pattern_allow([^PKG_CONFIG(_(PATH|LIBDIR|SYSROOT_DIR|ALLOW_SYSTEM_(CFLAGS|LIBS)))?$])
+m4_pattern_allow([^PKG_CONFIG_(DISABLE_UNINSTALLED|TOP_BUILD_DIR|DEBUG_SPEW)$])
+AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])
+AC_ARG_VAR([PKG_CONFIG_PATH], [directories to add to pkg-config's search path])
+AC_ARG_VAR([PKG_CONFIG_LIBDIR], [path overriding pkg-config's built-in search path])
-# _AM_AUTOCONF_VERSION(VERSION)
-# -----------------------------
-# aclocal traces this macro to find the Autoconf version.
-# This is a private macro too. Using m4_define simplifies
-# the logic in aclocal, which can simply ignore this definition.
-m4_define([_AM_AUTOCONF_VERSION], [])
+if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
+ AC_PATH_TOOL([PKG_CONFIG], [pkg-config])
+fi
+if test -n "$PKG_CONFIG"; then
+ _pkg_min_version=m4_default([$1], [0.9.0])
+ AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version])
+ if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
+ AC_MSG_RESULT([yes])
+ else
+ AC_MSG_RESULT([no])
+ PKG_CONFIG=""
+ fi
+fi[]dnl
+])# PKG_PROG_PKG_CONFIG
-# AM_SET_CURRENT_AUTOMAKE_VERSION
-# -------------------------------
-# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
-# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
-AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.14.1])dnl
-m4_ifndef([AC_AUTOCONF_VERSION],
- [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
-_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
+# PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
+#
+# Check to see whether a particular set of modules exists. Similar
+# to PKG_CHECK_MODULES(), but does not set variables or print errors.
+#
+# Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG])
+# only at the first occurence in configure.ac, so if the first place
+# it's called might be skipped (such as if it is within an "if", you
+# have to call PKG_CHECK_EXISTS manually
+# --------------------------------------------------------------
+AC_DEFUN([PKG_CHECK_EXISTS],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
+if test -n "$PKG_CONFIG" && \
+ AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then
+ m4_default([$2], [:])
+m4_ifvaln([$3], [else
+ $3])dnl
+fi])
-# AM_AUX_DIR_EXPAND -*- Autoconf -*-
+# _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES])
+# ---------------------------------------------
+m4_define([_PKG_CONFIG],
+[if test -n "$$1"; then
+ pkg_cv_[]$1="$$1"
+ elif test -n "$PKG_CONFIG"; then
+ PKG_CHECK_EXISTS([$3],
+ [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`
+ test "x$?" != "x0" && pkg_failed=yes ],
+ [pkg_failed=yes])
+ else
+ pkg_failed=untried
+fi[]dnl
+])# _PKG_CONFIG
-# Copyright (C) 2001-2013 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
+# _PKG_SHORT_ERRORS_SUPPORTED
+# -----------------------------
+AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+ _pkg_short_errors_supported=yes
+else
+ _pkg_short_errors_supported=no
+fi[]dnl
+])# _PKG_SHORT_ERRORS_SUPPORTED
-# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
-# $ac_aux_dir to '$srcdir/foo'. In other projects, it is set to
-# '$srcdir', '$srcdir/..', or '$srcdir/../..'.
-#
-# Of course, Automake must honor this variable whenever it calls a
-# tool from the auxiliary directory. The problem is that $srcdir (and
-# therefore $ac_aux_dir as well) can be either absolute or relative,
-# depending on how configure is run. This is pretty annoying, since
-# it makes $ac_aux_dir quite unusable in subdirectories: in the top
-# source directory, any form will work fine, but in subdirectories a
-# relative path needs to be adjusted first.
+
+# PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
+# [ACTION-IF-NOT-FOUND])
#
-# $ac_aux_dir/missing
-# fails when called from a subdirectory if $ac_aux_dir is relative
-# $top_srcdir/$ac_aux_dir/missing
-# fails if $ac_aux_dir is absolute,
-# fails when called from a subdirectory in a VPATH build with
-# a relative $ac_aux_dir
#
-# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
-# are both prefixed by $srcdir. In an in-source build this is usually
-# harmless because $srcdir is '.', but things will broke when you
-# start a VPATH build or use an absolute $srcdir.
+# Note that if there is a possibility the first call to
+# PKG_CHECK_MODULES might not happen, you should be sure to include an
+# explicit call to PKG_PROG_PKG_CONFIG in your configure.ac
#
-# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
-# iff we strip the leading $srcdir from $ac_aux_dir. That would be:
-# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
-# and then we would define $MISSING as
-# MISSING="\${SHELL} $am_aux_dir/missing"
-# This will work as long as MISSING is not called from configure, because
-# unfortunately $(top_srcdir) has no meaning in configure.
-# However there are other variables, like CC, which are often used in
-# configure, and could therefore not use this "fixed" $ac_aux_dir.
#
-# Another solution, used here, is to always expand $ac_aux_dir to an
-# absolute PATH. The drawback is that using absolute paths prevent a
-# configured tree to be moved without reconfiguration.
+# --------------------------------------------------------------
+AC_DEFUN([PKG_CHECK_MODULES],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
+AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl
+AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl
-AC_DEFUN([AM_AUX_DIR_EXPAND],
-[dnl Rely on autoconf to set up CDPATH properly.
-AC_PREREQ([2.50])dnl
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
-])
+pkg_failed=no
+AC_MSG_CHECKING([for $1])
-# AM_CONDITIONAL -*- Autoconf -*-
+_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2])
+_PKG_CONFIG([$1][_LIBS], [libs], [$2])
-# Copyright (C) 1997-2013 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
+m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS
+and $1[]_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.])
-# AM_CONDITIONAL(NAME, SHELL-CONDITION)
-# -------------------------------------
-# Define a conditional.
-AC_DEFUN([AM_CONDITIONAL],
-[AC_PREREQ([2.52])dnl
- m4_if([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])],
- [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
-AC_SUBST([$1_TRUE])dnl
-AC_SUBST([$1_FALSE])dnl
-_AM_SUBST_NOTMAKE([$1_TRUE])dnl
-_AM_SUBST_NOTMAKE([$1_FALSE])dnl
-m4_define([_AM_COND_VALUE_$1], [$2])dnl
-if $2; then
- $1_TRUE=
- $1_FALSE='#'
-else
- $1_TRUE='#'
- $1_FALSE=
-fi
-AC_CONFIG_COMMANDS_PRE(
-[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
- AC_MSG_ERROR([[conditional "$1" was never defined.
-Usually this means the macro was only invoked conditionally.]])
-fi])])
+if test $pkg_failed = yes; then
+ AC_MSG_RESULT([no])
+ _PKG_SHORT_ERRORS_SUPPORTED
+ if test $_pkg_short_errors_supported = yes; then
+ $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$2" 2>&1`
+ else
+ $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$2" 2>&1`
+ fi
+ # Put the nasty error message in config.log where it belongs
+ echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD
-# Copyright (C) 1999-2013 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
+ m4_default([$4], [AC_MSG_ERROR(
+[Package requirements ($2) were not met:
+$$1_PKG_ERRORS
-# There are a few dirty hacks below to avoid letting 'AC_PROG_CC' be
-# written in clear, in which case automake, when reading aclocal.m4,
-# will think it sees a *use*, and therefore will trigger all it's
-# C support machinery. Also note that it means that autoscan, seeing
-# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
+Consider adjusting the PKG_CONFIG_PATH environment variable if you
+installed software in a non-standard prefix.
+_PKG_TEXT])[]dnl
+ ])
+elif test $pkg_failed = untried; then
+ AC_MSG_RESULT([no])
+ m4_default([$4], [AC_MSG_FAILURE(
+[The pkg-config script could not be found or is too old. Make sure it
+is in your PATH or set the PKG_CONFIG environment variable to the full
+path to pkg-config.
-# _AM_DEPENDENCIES(NAME)
-# ----------------------
-# See how the compiler implements dependency checking.
-# NAME is "CC", "CXX", "OBJC", "OBJCXX", "UPC", or "GJC".
-# We try a few techniques and use that to set a single cache variable.
-#
-# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
-# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
-# dependency, and given that the user is not expected to run this macro,
-# just rely on AC_PROG_CC.
-AC_DEFUN([_AM_DEPENDENCIES],
-[AC_REQUIRE([AM_SET_DEPDIR])dnl
-AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
-AC_REQUIRE([AM_MAKE_INCLUDE])dnl
-AC_REQUIRE([AM_DEP_TRACK])dnl
+_PKG_TEXT
-m4_if([$1], [CC], [depcc="$CC" am_compiler_list=],
- [$1], [CXX], [depcc="$CXX" am_compiler_list=],
- [$1], [OBJC], [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
- [$1], [OBJCXX], [depcc="$OBJCXX" am_compiler_list='gcc3 gcc'],
- [$1], [UPC], [depcc="$UPC" am_compiler_list=],
- [$1], [GCJ], [depcc="$GCJ" am_compiler_list='gcc3 gcc'],
- [depcc="$$1" am_compiler_list=])
+To get pkg-config, see <http://pkg-config.freedesktop.org/>.])[]dnl
+ ])
+else
+ $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS
+ $1[]_LIBS=$pkg_cv_[]$1[]_LIBS
+ AC_MSG_RESULT([yes])
+ $3
+fi[]dnl
+])# PKG_CHECK_MODULES
-AC_CACHE_CHECK([dependency style of $depcc],
- [am_cv_$1_dependencies_compiler_type],
-[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
- # We make a subdir and do the tests there. Otherwise we can end up
- # making bogus files that we don't know about and never remove. For
- # instance it was reported that on HP-UX the gcc test will end up
- # making a dummy file named 'D' -- because '-MD' means "put the output
- # in D".
- rm -rf conftest.dir
- mkdir conftest.dir
- # Copy depcomp to subdir because otherwise we won't find it if we're
- # using a relative directory.
- cp "$am_depcomp" conftest.dir
- cd conftest.dir
- # We will build objects and dependencies in a subdirectory because
- # it helps to detect inapplicable dependency modes. For instance
- # both Tru64's cc and ICC support -MD to output dependencies as a
- # side effect of compilation, but ICC will put the dependencies in
- # the current directory while Tru64 will put them in the object
- # directory.
- mkdir sub
- am_cv_$1_dependencies_compiler_type=none
- if test "$am_compiler_list" = ""; then
- am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
- fi
- am__universal=false
- m4_case([$1], [CC],
- [case " $depcc " in #(
- *\ -arch\ *\ -arch\ *) am__universal=true ;;
- esac],
- [CXX],
- [case " $depcc " in #(
- *\ -arch\ *\ -arch\ *) am__universal=true ;;
- esac])
+# PKG_INSTALLDIR(DIRECTORY)
+# -------------------------
+# Substitutes the variable pkgconfigdir as the location where a module
+# should install pkg-config .pc files. By default the directory is
+# $libdir/pkgconfig, but the default can be changed by passing
+# DIRECTORY. The user can override through the --with-pkgconfigdir
+# parameter.
+AC_DEFUN([PKG_INSTALLDIR],
+[m4_pushdef([pkg_default], [m4_default([$1], ['${libdir}/pkgconfig'])])
+m4_pushdef([pkg_description],
+ [pkg-config installation directory @<:@]pkg_default[@:>@])
+AC_ARG_WITH([pkgconfigdir],
+ [AS_HELP_STRING([--with-pkgconfigdir], pkg_description)],,
+ [with_pkgconfigdir=]pkg_default)
+AC_SUBST([pkgconfigdir], [$with_pkgconfigdir])
+m4_popdef([pkg_default])
+m4_popdef([pkg_description])
+]) dnl PKG_INSTALLDIR
- for depmode in $am_compiler_list; do
- # Setup a source with many dependencies, because some compilers
- # like to wrap large dependency lists on column 80 (with \), and
- # we should not choose a depcomp mode which is confused by this.
- #
- # We need to recreate these files for each test, as the compiler may
- # overwrite some of them when testing with obscure command lines.
- # This happens at least with the AIX C compiler.
- : > sub/conftest.c
- for i in 1 2 3 4 5 6; do
- echo '#include "conftst'$i'.h"' >> sub/conftest.c
- # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with
- # Solaris 10 /bin/sh.
- echo '/* dummy */' > sub/conftst$i.h
- done
- echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
- # We check with '-c' and '-o' for the sake of the "dashmstdout"
- # mode. It turns out that the SunPro C++ compiler does not properly
- # handle '-M -o', and we need to detect this. Also, some Intel
- # versions had trouble with output in subdirs.
- am__obj=sub/conftest.${OBJEXT-o}
- am__minus_obj="-o $am__obj"
- case $depmode in
- gcc)
- # This depmode causes a compiler race in universal mode.
- test "$am__universal" = false || continue
- ;;
- nosideeffect)
- # After this tag, mechanisms are not by side-effect, so they'll
- # only be used when explicitly requested.
- if test "x$enable_dependency_tracking" = xyes; then
- continue
- else
- break
+# PKG_NOARCH_INSTALLDIR(DIRECTORY)
+# -------------------------
+# Substitutes the variable noarch_pkgconfigdir as the location where a
+# module should install arch-independent pkg-config .pc files. By
+# default the directory is $datadir/pkgconfig, but the default can be
+# changed by passing DIRECTORY. The user can override through the
+# --with-noarch-pkgconfigdir parameter.
+AC_DEFUN([PKG_NOARCH_INSTALLDIR],
+[m4_pushdef([pkg_default], [m4_default([$1], ['${datadir}/pkgconfig'])])
+m4_pushdef([pkg_description],
+ [pkg-config arch-independent installation directory @<:@]pkg_default[@:>@])
+AC_ARG_WITH([noarch-pkgconfigdir],
+ [AS_HELP_STRING([--with-noarch-pkgconfigdir], pkg_description)],,
+ [with_noarch_pkgconfigdir=]pkg_default)
+AC_SUBST([noarch_pkgconfigdir], [$with_noarch_pkgconfigdir])
+m4_popdef([pkg_default])
+m4_popdef([pkg_description])
+]) dnl PKG_NOARCH_INSTALLDIR
+
+
+# PKG_CHECK_VAR(VARIABLE, MODULE, CONFIG-VARIABLE,
+# [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
+# -------------------------------------------
+# Retrieves the value of the pkg-config variable for the given module.
+AC_DEFUN([PKG_CHECK_VAR],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
+AC_ARG_VAR([$1], [value of $3 for $2, overriding pkg-config])dnl
+
+_PKG_CONFIG([$1], [variable="][$3]["], [$2])
+AS_VAR_COPY([$1], [pkg_cv_][$1])
+
+AS_VAR_IF([$1], [""], [$5], [$4])dnl
+])# PKG_CHECK_VAR
+
+# ============================================================================
+# http://www.gnu.org/software/autoconf-archive/ax_cxx_compile_stdcxx_11.html
+# ============================================================================
+#
+# SYNOPSIS
+#
+# MM_AX_CXX_COMPILE_STDCXX_11([ext|noext],[mandatory|optional])
+#
+# DESCRIPTION
+#
+# Check for baseline language coverage in the compiler for the C++11
+# standard; if necessary, add switches to CXXFLAGS to enable support.
+#
+# The first argument, if specified, indicates whether you insist on an
+# extended mode (e.g. -std=gnu++11) or a strict conformance mode (e.g.
+# -std=c++11). If neither is specified, you get whatever works, with
+# preference for an extended mode.
+#
+# The second argument, if specified 'mandatory' or if left unspecified,
+# indicates that baseline C++11 support is required and that the macro
+# should error out if no mode with that support is found. If specified
+# 'optional', then configuration proceeds regardless, after defining
+# HAVE_CXX11 if and only if a supporting mode is found.
+#
+# LICENSE
+#
+# Copyright (c) 2008 Benjamin Kosnik <bkoz@redhat.com>
+# Copyright (c) 2012 Zack Weinberg <zackw@panix.com>
+# Copyright (c) 2013 Roy Stogner <roystgnr@ices.utexas.edu>
+# Copyright (c) 2014, 2015 Google Inc.; contributed by Alexey Sokolov <sokolov@google.com>
+#
+# Copying and distribution of this file, with or without modification, are
+# permitted in any medium without royalty provided the copyright notice
+# and this notice are preserved. This file is offered as-is, without any
+# warranty.
+
+# Copied from ax_cxx_compile_stdcxx_11.m4 and added MM_ prefix to avoid
+# possible conflict with AX_CXX_COMPILE_STDCXX_11 in other modules.
+
+#serial 11
+
+m4_define([_MM_AX_CXX_COMPILE_STDCXX_11_testbody], [[
+ template <typename T>
+ struct check
+ {
+ static_assert(sizeof(int) <= sizeof(T), "not big enough");
+ };
+
+ struct Base {
+ virtual void f() {}
+ };
+ struct Child : public Base {
+ virtual void f() override {}
+ };
+
+ typedef check<check<bool>> right_angle_brackets;
+
+ int a;
+ decltype(a) b;
+
+ typedef check<int> check_type;
+ check_type c;
+ check_type&& cr = static_cast<check_type&&>(c);
+
+ auto d = a;
+ auto l = [](){};
+ // Prevent Clang error: unused variable 'l' [-Werror,-Wunused-variable]
+ struct use_l { use_l() { l(); } };
+
+ // http://stackoverflow.com/questions/13728184/template-aliases-and-sfinae
+ // Clang 3.1 fails with headers of libstd++ 4.8.3 when using std::function because of this
+ namespace test_template_alias_sfinae {
+ struct foo {};
+
+ template<typename T>
+ using member = typename T::member_type;
+
+ template<typename T>
+ void func(...) {}
+
+ template<typename T>
+ void func(member<T>*) {}
+
+ void test();
+
+ void test() {
+ func<foo>(0);
+ }
+ }
+]])
+
+AC_DEFUN([MM_AX_CXX_COMPILE_STDCXX_11], [dnl
+ m4_if([$1], [], [],
+ [$1], [ext], [],
+ [$1], [noext], [],
+ [m4_fatal([invalid argument `$1' to MM_AX_CXX_COMPILE_STDCXX_11])])dnl
+ m4_if([$2], [], [ax_cxx_compile_cxx11_required=true],
+ [$2], [mandatory], [ax_cxx_compile_cxx11_required=true],
+ [$2], [optional], [ax_cxx_compile_cxx11_required=false],
+ [m4_fatal([invalid second argument `$2' to MM_AX_CXX_COMPILE_STDCXX_11])])
+ AC_LANG_PUSH([C++])dnl
+ ac_success=no
+ AC_CACHE_CHECK(whether $CXX supports C++11 features by default,
+ ax_cv_cxx_compile_cxx11,
+ [AC_COMPILE_IFELSE([AC_LANG_SOURCE([_MM_AX_CXX_COMPILE_STDCXX_11_testbody])],
+ [ax_cv_cxx_compile_cxx11=yes],
+ [ax_cv_cxx_compile_cxx11=no])])
+ if test x$ax_cv_cxx_compile_cxx11 = xyes; then
+ ac_success=yes
+ fi
+
+ m4_if([$1], [noext], [], [dnl
+ if test x$ac_success = xno; then
+ for switch in -std=gnu++11 -std=gnu++0x; do
+ cachevar=AS_TR_SH([ax_cv_cxx_compile_cxx11_$switch])
+ AC_CACHE_CHECK(whether $CXX supports C++11 features with $switch,
+ $cachevar,
+ [ac_save_CXXFLAGS="$CXXFLAGS"
+ CXXFLAGS="$CXXFLAGS $switch"
+ AC_COMPILE_IFELSE([AC_LANG_SOURCE([_MM_AX_CXX_COMPILE_STDCXX_11_testbody])],
+ [eval $cachevar=yes],
+ [eval $cachevar=no])
+ CXXFLAGS="$ac_save_CXXFLAGS"])
+ if eval test x\$$cachevar = xyes; then
+ CXXFLAGS="$CXXFLAGS $switch"
+ ac_success=yes
+ break
fi
- ;;
- msvc7 | msvc7msys | msvisualcpp | msvcmsys)
- # This compiler won't grok '-c -o', but also, the minuso test has
- # not run yet. These depmodes are late enough in the game, and
- # so weak that their functioning should not be impacted.
- am__obj=conftest.${OBJEXT-o}
- am__minus_obj=
- ;;
- none) break ;;
- esac
- if depmode=$depmode \
- source=sub/conftest.c object=$am__obj \
- depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
- $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
- >/dev/null 2>conftest.err &&
- grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
- grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
- grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
- ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
- # icc doesn't choke on unknown options, it will just issue warnings
- # or remarks (even with -Werror). So we grep stderr for any message
- # that says an option was ignored or not supported.
- # When given -MP, icc 7.0 and 7.1 complain thusly:
- # icc: Command line warning: ignoring option '-M'; no argument required
- # The diagnosis changed in icc 8.0:
- # icc: Command line remark: option '-MP' not supported
- if (grep 'ignoring option' conftest.err ||
- grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
- am_cv_$1_dependencies_compiler_type=$depmode
+ done
+ fi])
+
+ m4_if([$1], [ext], [], [dnl
+ if test x$ac_success = xno; then
+ dnl HP's aCC needs +std=c++11 according to:
+ dnl http://h21007.www2.hp.com/portal/download/files/unprot/aCxx/PDF_Release_Notes/769149-001.pdf
+ for switch in -std=c++11 -std=c++0x +std=c++11; do
+ cachevar=AS_TR_SH([ax_cv_cxx_compile_cxx11_$switch])
+ AC_CACHE_CHECK(whether $CXX supports C++11 features with $switch,
+ $cachevar,
+ [ac_save_CXXFLAGS="$CXXFLAGS"
+ CXXFLAGS="$CXXFLAGS $switch"
+ AC_COMPILE_IFELSE([AC_LANG_SOURCE([_MM_AX_CXX_COMPILE_STDCXX_11_testbody])],
+ [eval $cachevar=yes],
+ [eval $cachevar=no])
+ CXXFLAGS="$ac_save_CXXFLAGS"])
+ if eval test x\$$cachevar = xyes; then
+ CXXFLAGS="$CXXFLAGS $switch"
+ ac_success=yes
break
fi
+ done
+ fi])
+ AC_LANG_POP([C++])
+ if test x$ax_cxx_compile_cxx11_required = xtrue; then
+ if test x$ac_success = xno; then
+ AC_MSG_ERROR([*** A compiler with support for C++11 language features is required.])
+ fi
+ else
+ if test x$ac_success = xno; then
+ HAVE_CXX11=0
+ AC_MSG_NOTICE([No compiler with C++11 support was found])
+ else
+ HAVE_CXX11=1
+ AC_DEFINE(HAVE_CXX11,1,
+ [define if the compiler supports basic C++11 syntax])
fi
- done
- cd ..
- rm -rf conftest.dir
-else
- am_cv_$1_dependencies_compiler_type=none
-fi
-])
-AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
-AM_CONDITIONAL([am__fastdep$1], [
- test "x$enable_dependency_tracking" != xno \
- && test "$am_cv_$1_dependencies_compiler_type" = gcc3])
+ AC_SUBST(HAVE_CXX11)
+ fi
])
-# AM_SET_DEPDIR
-# -------------
-# Choose a directory name for dependency files.
-# This macro is AC_REQUIREd in _AM_DEPENDENCIES.
-AC_DEFUN([AM_SET_DEPDIR],
-[AC_REQUIRE([AM_SET_LEADING_DOT])dnl
-AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
-])
+#serial 20090814
-# AM_DEP_TRACK
-# ------------
-AC_DEFUN([AM_DEP_TRACK],
-[AC_ARG_ENABLE([dependency-tracking], [dnl
-AS_HELP_STRING(
- [--enable-dependency-tracking],
- [do not reject slow dependency extractors])
-AS_HELP_STRING(
- [--disable-dependency-tracking],
- [speeds up one-time build])])
-if test "x$enable_dependency_tracking" != xno; then
- am_depcomp="$ac_aux_dir/depcomp"
- AMDEPBACKSLASH='\'
- am__nodep='_no'
-fi
-AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
-AC_SUBST([AMDEPBACKSLASH])dnl
-_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
-AC_SUBST([am__nodep])dnl
-_AM_SUBST_NOTMAKE([am__nodep])dnl
+AC_DEFUN([_MM_PRE_INIT], [m4_pattern_forbid([^_?MM_])])
+
+m4_define([_MM_PREREQ],
+[dnl
+m4_if(m4_quote(m4_version_compare([$2], [$3])), [-1],
+ [m4_fatal([$4 requires $1 $3 (version $2 is installed)])])[]dnl
])
-# Generate code to set up dependency tracking. -*- Autoconf -*-
+AC_DEFUN([MM_PREREQ],
+[dnl
+m4_assert([$# >= 1])[]dnl
+AC_REQUIRE([_MM_PRE_INIT])[]dnl
+_MM_PREREQ([mm-common], [0.9.8], [$1], m4_defn([AC_PACKAGE_NAME]))[]dnl
+])
-# Copyright (C) 1999-2013 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
+#serial 20091224
-# _AM_OUTPUT_DEPENDENCY_COMMANDS
-# ------------------------------
-AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
-[{
- # Older Autoconf quotes --file arguments for eval, but not when files
- # are listed without --file. Let's play safe and only enable the eval
- # if we detect the quoting.
- case $CONFIG_FILES in
- *\'*) eval set x "$CONFIG_FILES" ;;
- *) set x $CONFIG_FILES ;;
- esac
- shift
- for mf
- do
- # Strip MF so we end up with the name of the file.
- mf=`echo "$mf" | sed -e 's/:.*$//'`
- # Check whether this is an Automake generated Makefile or not.
- # We used to match only the files named 'Makefile.in', but
- # some people rename them; so instead we look at the file content.
- # Grep'ing the first line is not enough: some people post-process
- # each Makefile.in and add a new line on top of each file to say so.
- # Grep'ing the whole file is not good either: AIX grep has a line
- # limit of 2048, but all sed's we know have understand at least 4000.
- if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
- dirpart=`AS_DIRNAME("$mf")`
- else
- continue
- fi
- # Extract the definition of DEPDIR, am__include, and am__quote
- # from the Makefile without running 'make'.
- DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
- test -z "$DEPDIR" && continue
- am__include=`sed -n 's/^am__include = //p' < "$mf"`
- test -z "$am__include" && continue
- am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
- # Find all dependency output files, they are included files with
- # $(DEPDIR) in their names. We invoke sed twice because it is the
- # simplest approach to changing $(DEPDIR) to its actual value in the
- # expansion.
- for file in `sed -n "
- s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
- sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do
- # Make sure the directory exists.
- test -f "$dirpart/$file" && continue
- fdir=`AS_DIRNAME(["$file"])`
- AS_MKDIR_P([$dirpart/$fdir])
- # echo "creating $dirpart/$file"
- echo '# dummy' > "$dirpart/$file"
- done
- done
-}
-])# _AM_OUTPUT_DEPENDENCY_COMMANDS
-
-
-# AM_OUTPUT_DEPENDENCY_COMMANDS
-# -----------------------------
-# This macro should only be invoked once -- use via AC_REQUIRE.
-#
-# This code is only required when automatic dependency tracking
-# is enabled. FIXME. This creates each '.P' file that we will
-# need in order to bootstrap the dependency handling code.
-AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
-[AC_CONFIG_COMMANDS([depfiles],
- [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
- [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
+m4_define([_MM_PROG_GCC_VISIBILITY_CHECK],
+[dnl
+AC_PROVIDE([$0])[]dnl
+AC_CACHE_CHECK([for GCC symbol visibility options],
+ [mm_cv_gcc_visibility_cxxflags],
+[dnl
+mm_save_CXXFLAGS=$CXXFLAGS
+CXXFLAGS="$CXXFLAGS -fvisibility=hidden -fvisibility-inlines-hidden"
+dnl
+AC_LINK_IFELSE([AC_LANG_PROGRAM([[
+#pragma GCC visibility push(default)
+namespace Mm { void __attribute__((__visibility__("hidden"))) mmfunc(); }
+void Mm::mmfunc() {}
+#pragma GCC visibility pop
+]], [[Mm::mmfunc();]])],
+[mm_cv_gcc_visibility_cxxflags='-fvisibility=hidden -fvisibility-inlines-hidden'],
+[mm_cv_gcc_visibility_cxxflags=none])
+dnl
+CXXFLAGS=$mm_save_CXXFLAGS])[]dnl
])
-# Do all the work for Automake. -*- Autoconf -*-
-
-# Copyright (C) 1996-2013 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This macro actually does too much. Some checks are only needed if
-# your package does certain things. But this isn't really a big deal.
-
-dnl Redefine AC_PROG_CC to automatically invoke _AM_PROG_CC_C_O.
-m4_define([AC_PROG_CC],
-m4_defn([AC_PROG_CC])
-[_AM_PROG_CC_C_O
+AC_DEFUN([MM_PROG_GCC_VISIBILITY],
+[dnl
+m4_assert([$# >= 1])[]dnl
+AC_LANG_ASSERT([C++])[]dnl
+AC_REQUIRE([_MM_PRE_INIT])[]dnl
+AC_REQUIRE([_MM_PROG_GCC_VISIBILITY_CHECK])[]dnl
+AS_IF([test "x$mm_cv_gcc_visibility_cxxflags" != xnone],
+ [$1=$mm_cv_gcc_visibility_cxxflags], [$1=])
+AC_SUBST([$1])[]dnl
])
-# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
-# AM_INIT_AUTOMAKE([OPTIONS])
-# -----------------------------------------------
-# The call with PACKAGE and VERSION arguments is the old style
-# call (pre autoconf-2.50), which is being phased out. PACKAGE
-# and VERSION should now be passed to AC_INIT and removed from
-# the call to AM_INIT_AUTOMAKE.
-# We support both call styles for the transition. After
-# the next Automake release, Autoconf can make the AC_INIT
-# arguments mandatory, and then we can depend on a new Autoconf
-# release and drop the old call support.
-AC_DEFUN([AM_INIT_AUTOMAKE],
-[AC_PREREQ([2.65])dnl
-dnl Autoconf wants to disallow AM_ names. We explicitly allow
-dnl the ones we care about.
-m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
-AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
-AC_REQUIRE([AC_PROG_INSTALL])dnl
-if test "`cd $srcdir && pwd`" != "`pwd`"; then
- # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
- # is not polluted with repeated "-I."
- AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl
- # test to see if srcdir already configured
- if test -f $srcdir/config.status; then
- AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
- fi
-fi
-
-# test whether we have cygpath
-if test -z "$CYGPATH_W"; then
- if (cygpath --version) >/dev/null 2>/dev/null; then
- CYGPATH_W='cygpath -w'
- else
- CYGPATH_W=echo
- fi
-fi
-AC_SUBST([CYGPATH_W])
-
-# Define the identity of the package.
-dnl Distinguish between old-style and new-style calls.
-m4_ifval([$2],
-[AC_DIAGNOSE([obsolete],
- [$0: two- and three-arguments forms are deprecated.])
-m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
- AC_SUBST([PACKAGE], [$1])dnl
- AC_SUBST([VERSION], [$2])],
-[_AM_SET_OPTIONS([$1])dnl
-dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
-m4_if(
- m4_ifdef([AC_PACKAGE_NAME], [ok]):m4_ifdef([AC_PACKAGE_VERSION], [ok]),
- [ok:ok],,
- [m4_fatal([AC_INIT should be called with package and version arguments])])dnl
- AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
- AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
-
-_AM_IF_OPTION([no-define],,
-[AC_DEFINE_UNQUOTED([PACKAGE], ["$PACKAGE"], [Name of package])
- AC_DEFINE_UNQUOTED([VERSION], ["$VERSION"], [Version number of package])])dnl
-
-# Some tools Automake needs.
-AC_REQUIRE([AM_SANITY_CHECK])dnl
-AC_REQUIRE([AC_ARG_PROGRAM])dnl
-AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}])
-AM_MISSING_PROG([AUTOCONF], [autoconf])
-AM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}])
-AM_MISSING_PROG([AUTOHEADER], [autoheader])
-AM_MISSING_PROG([MAKEINFO], [makeinfo])
-AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
-AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
-AC_REQUIRE([AC_PROG_MKDIR_P])dnl
-# For better backward compatibility. To be removed once Automake 1.9.x
-# dies out for good. For more background, see:
-# <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
-# <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
-AC_SUBST([mkdir_p], ['$(MKDIR_P)'])
-# We need awk for the "check" target. The system "awk" is bad on
-# some platforms.
-AC_REQUIRE([AC_PROG_AWK])dnl
-AC_REQUIRE([AC_PROG_MAKE_SET])dnl
-AC_REQUIRE([AM_SET_LEADING_DOT])dnl
-_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
- [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
- [_AM_PROG_TAR([v7])])])
-_AM_IF_OPTION([no-dependencies],,
-[AC_PROVIDE_IFELSE([AC_PROG_CC],
- [_AM_DEPENDENCIES([CC])],
- [m4_define([AC_PROG_CC],
- m4_defn([AC_PROG_CC])[_AM_DEPENDENCIES([CC])])])dnl
-AC_PROVIDE_IFELSE([AC_PROG_CXX],
- [_AM_DEPENDENCIES([CXX])],
- [m4_define([AC_PROG_CXX],
- m4_defn([AC_PROG_CXX])[_AM_DEPENDENCIES([CXX])])])dnl
-AC_PROVIDE_IFELSE([AC_PROG_OBJC],
- [_AM_DEPENDENCIES([OBJC])],
- [m4_define([AC_PROG_OBJC],
- m4_defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl
-AC_PROVIDE_IFELSE([AC_PROG_OBJCXX],
- [_AM_DEPENDENCIES([OBJCXX])],
- [m4_define([AC_PROG_OBJCXX],
- m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl
+m4_define([_MM_ARG_DISABLE_DEPRECATED_API_OPTION],
+[dnl
+AC_PROVIDE([$0])[]dnl
+AC_ARG_ENABLE([deprecated-api],
+ [AS_HELP_STRING([--disable-deprecated-api],
+ [omit deprecated API from the library])],
+ [mm_enable_deprecated_api=$enableval],
+ [mm_enable_deprecated_api=yes])[]dnl
+AS_IF([test "x$mm_enable_deprecated_api" = xno],
+ [AC_MSG_WARN([[Deprecated API will not be built, breaking compatibility.
+Do not use this option for distribution packages.]])],
+ [AC_MSG_NOTICE([[Deprecated API will be built, for backwards-compatibility.]])])
+AM_CONDITIONAL([DISABLE_DEPRECATED_API], [test "x$mm_enable_deprecated_api" = xno])[]dnl
])
-AC_REQUIRE([AM_SILENT_RULES])dnl
-dnl The testsuite driver may need to know about EXEEXT, so add the
-dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This
-dnl macro is hooked onto _AC_COMPILER_EXEEXT early, see below.
-AC_CONFIG_COMMANDS_PRE(dnl
-[m4_provide_if([_AM_COMPILER_EXEEXT],
- [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
-# POSIX will say in a future version that running "rm -f" with no argument
-# is OK; and we want to be able to make that assumption in our Makefile
-# recipes. So use an aggressive probe to check that the usage we want is
-# actually supported "in the wild" to an acceptable degree.
-# See automake bug#10828.
-# To make any issue more visible, cause the running configure to be aborted
-# by default if the 'rm' program in use doesn't match our expectations; the
-# user can still override this though.
-if rm -f && rm -fr && rm -rf; then : OK; else
- cat >&2 <<'END'
-Oops!
-
-Your 'rm' program seems unable to run without file operands specified
-on the command line, even when the '-f' option is present. This is contrary
-to the behaviour of most rm programs out there, and not conforming with
-the upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542>
-
-Please tell bug-automake@gnu.org about your system, including the value
-of your $PATH and any error possibly output before this message. This
-can help us improve future automake versions.
-
-END
- if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then
- echo 'Configuration will proceed anyway, since you have set the' >&2
- echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2
- echo >&2
- else
- cat >&2 <<'END'
-Aborting the configuration process, to ensure you take notice of the issue.
-
-You can download and install GNU coreutils to get an 'rm' implementation
-that behaves properly: <http://www.gnu.org/software/coreutils/>.
-
-If you want to complete the configuration process using your problematic
-'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
-to "yes", and re-run configure.
+m4_define([_MM_ARG_DISABLE_DEPRECATED_API_DEFINE],
+[m4_foreach_w([mm_prefix], [$1],
+[AC_DEFINE(m4_defn([mm_prefix])[_DISABLE_DEPRECATED], [1],
+ [Define to omit deprecated API from the library.])
+])])
-END
- AC_MSG_ERROR([Your 'rm' program is bad, sorry.])
- fi
-fi
+AC_DEFUN([MM_ARG_DISABLE_DEPRECATED_API],
+[dnl
+AC_REQUIRE([_MM_PRE_INIT])[]dnl
+AC_REQUIRE([_MM_ARG_DISABLE_DEPRECATED_API_OPTION])[]dnl
+AS_IF([test "x$mm_enable_deprecated_api" = xno],
+ [_MM_ARG_DISABLE_DEPRECATED_API_DEFINE(
+ m4_ifval([$1], [[$1]], [AS_TR_CPP(m4_defn([AC_PACKAGE_TARNAME]))]))])[]dnl
])
-dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion. Do not
-dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
-dnl mangled by Autoconf and run in a shell conditional statement.
-m4_define([_AC_COMPILER_EXEEXT],
-m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])])
-
-# When config.status generates a header, we must update the stamp-h file.
-# This file resides in the same directory as the config header
-# that is generated. The stamp files are numbered to have different names.
-
-# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
-# loop where config.status creates the headers, so we can generate
-# our stamp files there.
-AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
-[# Compute $1's index in $config_headers.
-_am_arg=$1
-_am_stamp_count=1
-for _am_header in $config_headers :; do
- case $_am_header in
- $_am_arg | $_am_arg:* )
- break ;;
- * )
- _am_stamp_count=`expr $_am_stamp_count + 1` ;;
- esac
-done
-echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
-# Copyright (C) 2001-2013 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
+#serial 20110327
-# AM_PROG_INSTALL_SH
-# ------------------
-# Define $install_sh.
-AC_DEFUN([AM_PROG_INSTALL_SH],
-[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-if test x"${install_sh}" != xset; then
- case $am_aux_dir in
- *\ * | *\ *)
- install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
- *)
- install_sh="\${SHELL} $am_aux_dir/install-sh"
- esac
-fi
-AC_SUBST([install_sh])])
+m4_define([_MM_CONFIG_DOCTOOL_DIR],
+[dnl
+AC_PROVIDE([$0])[]dnl
+AC_REQUIRE([PKG_PROG_PKG_CONFIG])[]dnl
+dnl
+AC_MSG_CHECKING([location of documentation utilities])
+AS_IF([test "x$MMDOCTOOLDIR" = x],
+[
+ MMDOCTOOLDIR=`$PKG_CONFIG --variable=doctooldir mm-common-util 2>&AS_MESSAGE_LOG_FD`
+ AS_IF([test "[$]?" -ne 0],
+ [AC_MSG_ERROR([[not found
+The required module mm-common-util could not be found on this system. If you
+are running a binary distribution and the mm-common package is installed,
+make sure that any separate development package for mm-common is installed
+as well. If you built mm-common yourself, it may be necessary to adjust
+the PKG_CONFIG_PATH environment variable for pkg-config to find it.
+]])])
+])
+AC_MSG_RESULT([$MMDOCTOOLDIR])[]dnl
+])
-# Copyright (C) 2003-2013 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
+AC_DEFUN([MM_CONFIG_DOCTOOL_DIR],
+[dnl
+AC_REQUIRE([_MM_PRE_INIT])[]dnl
+AC_REQUIRE([MM_CHECK_GNU_MAKE])[]dnl
+m4_ifval([$1], [MMDOCTOOLDIR='[$]{top_srcdir}/$1'], [AC_REQUIRE([_MM_CONFIG_DOCTOOL_DIR])])
+AM_CONDITIONAL([DIST_DOCTOOLS], [test 'x$1' != 'x'])dnl
+AC_SUBST([MMDOCTOOLDIR])[]dnl
+])
-# Check whether the underlying file-system supports filenames
-# with a leading dot. For instance MS-DOS doesn't.
-AC_DEFUN([AM_SET_LEADING_DOT],
-[rm -rf .tst 2>/dev/null
-mkdir .tst 2>/dev/null
-if test -d .tst; then
- am__leading_dot=.
-else
- am__leading_dot=_
-fi
-rmdir .tst 2>/dev/null
-AC_SUBST([am__leading_dot])])
+m4_define([_MM_ARG_ENABLE_DOCUMENTATION],
+[dnl
+AC_PROVIDE([$0])[]dnl
+dnl
+AC_ARG_VAR([DOT], [path to dot utility])[]dnl
+AC_ARG_VAR([DOXYGEN], [path to Doxygen utility])[]dnl
+AC_ARG_VAR([XSLTPROC], [path to xsltproc utility])[]dnl
+dnl
+AC_PATH_PROG([DOT], [dot], [dot])
+AC_PATH_PROG([DOXYGEN], [doxygen], [doxygen])
+AC_PATH_PROG([XSLTPROC], [xsltproc], [xsltproc])
+dnl
+AC_ARG_ENABLE([documentation],
+ [AS_HELP_STRING([--disable-documentation],
+ [do not build or install the documentation])],
+ [ENABLE_DOCUMENTATION=$enableval],
+ [ENABLE_DOCUMENTATION=auto])
+AS_IF([test "x$ENABLE_DOCUMENTATION" != xno],
+[
+ mm_err=
+ AS_IF([test "x$MMDOCTOOLDIR" = x], [mm_err='dnl
+The mm-common-util module is available, but the installation of mm-common on this
+machine is missing the shared documentation utilities of the GNOME C++
+bindings. It may be necessary to upgrade to a more recent release of
+mm-common in order to build '$PACKAGE_NAME' and install the documentation.'],
+ [test "x$PERL" = xperl], [mm_err='Perl is required for installing the documentation.'],
+ [test "x$USE_MAINTAINER_MODE" != xno],
+ [
+ test "x$DOT" != xdot || mm_err=' dot'
+ test "x$DOXYGEN" != xdoxygen || mm_err="$mm_err doxygen"
+ test "x$XSLTPROC" != xxsltproc || mm_err="$mm_err xsltproc"
+ test -z "$mm_err" || mm_err='The documentation cannot be generated because
+not all of the required tools are available:'$mm_err
+ ])
+ AS_IF([test -z "$mm_err"], [ENABLE_DOCUMENTATION=yes],
+ [test "x$ENABLE_DOCUMENTATION" = xyes], [AC_MSG_FAILURE([[$mm_err]])],
+ [ENABLE_DOCUMENTATION=no; AC_MSG_WARN([[$mm_err]])])
+])
+AM_CONDITIONAL([ENABLE_DOCUMENTATION], [test "x$ENABLE_DOCUMENTATION" = xyes])
+AC_SUBST([DOXYGEN_TAGFILES], [[]])
+AC_SUBST([DOCINSTALL_FLAGS], [[]])[]dnl
+])
-# Add --enable-maintainer-mode option to configure. -*- Autoconf -*-
-# From Jim Meyering
+AC_DEFUN([MM_ARG_ENABLE_DOCUMENTATION],
+[dnl
+AC_BEFORE([$0], [MM_ARG_WITH_TAGFILE_DOC])[]dnl
+AC_REQUIRE([_MM_PRE_INIT])[]dnl
+AC_REQUIRE([MM_CONFIG_DOCTOOL_DIR])[]dnl
+AC_REQUIRE([MM_PATH_PERL])[]dnl
+AC_REQUIRE([_MM_ARG_ENABLE_DOCUMENTATION])[]dnl
+])
-# Copyright (C) 1996-2013 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
+m4_define([_MM_TR_URI],
+[dnl
+[`expr "X$1" : 'X\(.*[^\\/]\)[\\/]*' 2>&]AS_MESSAGE_LOG_FD[ |]dnl
+[ sed 's|[\\]|/|g;s| |%20|g;s|^/|file:///|;s|^.:/|file:///&|' 2>&]AS_MESSAGE_LOG_FD[`]dnl
+])
-# AM_MAINTAINER_MODE([DEFAULT-MODE])
-# ----------------------------------
-# Control maintainer-specific portions of Makefiles.
-# Default is to disable them, unless 'enable' is passed literally.
-# For symmetry, 'disable' may be passed as well. Anyway, the user
-# can override the default with the --enable/--disable switch.
-AC_DEFUN([AM_MAINTAINER_MODE],
-[m4_case(m4_default([$1], [disable]),
- [enable], [m4_define([am_maintainer_other], [disable])],
- [disable], [m4_define([am_maintainer_other], [enable])],
- [m4_define([am_maintainer_other], [enable])
- m4_warn([syntax], [unexpected argument to AM@&t@_MAINTAINER_MODE: $1])])
-AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
- dnl maintainer-mode's default is 'disable' unless 'enable' is passed
- AC_ARG_ENABLE([maintainer-mode],
- [AS_HELP_STRING([--]am_maintainer_other[-maintainer-mode],
- am_maintainer_other[ make rules and dependencies not useful
- (and sometimes confusing) to the casual installer])],
- [USE_MAINTAINER_MODE=$enableval],
- [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes]))
- AC_MSG_RESULT([$USE_MAINTAINER_MODE])
- AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes])
- MAINT=$MAINTAINER_MODE_TRUE
- AC_SUBST([MAINT])dnl
-]
-)
+m4_define([_MM_ARG_WITH_TAGFILE_DOC],
+[dnl
+ AC_MSG_CHECKING([for $1 documentation])
+ AC_ARG_WITH([$1-doc],
+ [AS_HELP_STRING([[--with-$1-doc=[TAGFILE@]HTMLREFDIR]],
+ [Link to external $1 documentation]m4_ifval([$4], [[ [auto]]]))],
+ [
+ mm_htmlrefdir=`[expr "X@$withval" : '.*@\(.*\)' 2>&]AS_MESSAGE_LOG_FD`
+ mm_tagname=`[expr "X/$withval" : '[^@]*[\\/]\([^\\/@]*\)@' 2>&]AS_MESSAGE_LOG_FD`
+ mm_tagpath=`[expr "X$withval" : 'X\([^@]*\)@' 2>&]AS_MESSAGE_LOG_FD`
+ test "x$mm_tagname" != x || mm_tagname="$3"
+ test "x$mm_tagpath" != x || mm_tagpath=$mm_tagname[]dnl
+ ], [
+ mm_htmlrefdir=
+ mm_tagname="$3"
+ mm_tagpath=$mm_tagname[]dnl
+ ])
+ # Prepend working direcory if the tag file path starts with ./ or ../
+ AS_CASE([$mm_tagpath], [[.[\\/]*|..[\\/]*]], [mm_tagpath=`pwd`/$mm_tagpath])
-# Check to see how 'make' treats includes. -*- Autoconf -*-
+m4_ifval([$4], [dnl
+ # If no local directory was specified, get the default from the .pc file
+ AS_IF([test "x$mm_htmlrefdir" = x],
+ [
+ mm_htmlrefdir=`$PKG_CONFIG --variable=htmlrefdir "$4" 2>&AS_MESSAGE_LOG_FD`dnl
+ ])
+ # If the user specified a Web URL, allow it to override the public location
+ AS_CASE([$mm_htmlrefdir], [[http://*|https://*]], [mm_htmlrefpub=$mm_htmlrefdir],
+ [
+ mm_htmlrefpub=`$PKG_CONFIG --variable=htmlrefpub "$4" 2>&AS_MESSAGE_LOG_FD`
+ test "x$mm_htmlrefpub" != x || mm_htmlrefpub=$mm_htmlrefdir
+ test "x$mm_htmlrefdir" != x || mm_htmlrefdir=$mm_htmlrefpub
+ ])
+ # The user-supplied tag-file name takes precedence if it includes the path
+ AS_CASE([$mm_tagpath], [[*[\\/]*]],,
+ [
+ mm_doxytagfile=`$PKG_CONFIG --variable=doxytagfile "$4" 2>&AS_MESSAGE_LOG_FD`
+ test "x$mm_doxytagfile" = x || mm_tagpath=$mm_doxytagfile
+ ])
+ # Remove trailing slashes and translate to URI
+ mm_htmlrefpub=_MM_TR_URI([$mm_htmlrefpub])
+])[]dnl
+ mm_htmlrefdir=_MM_TR_URI([$mm_htmlrefdir])
-# Copyright (C) 2001-2013 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
+ AC_MSG_RESULT([$mm_tagpath@$mm_htmlrefdir])
-# AM_MAKE_INCLUDE()
-# -----------------
-# Check to see how make treats includes.
-AC_DEFUN([AM_MAKE_INCLUDE],
-[am_make=${MAKE-make}
-cat > confinc << 'END'
-am__doit:
- @echo this is the am__doit target
-.PHONY: am__doit
-END
-# If we don't find an include directive, just comment out the code.
-AC_MSG_CHECKING([for style of include used by $am_make])
-am__include="#"
-am__quote=
-_am_result=none
-# First try GNU make style include.
-echo "include confinc" > confmf
-# Ignore all kinds of additional output from 'make'.
-case `$am_make -s -f confmf 2> /dev/null` in #(
-*the\ am__doit\ target*)
- am__include=include
- am__quote=
- _am_result=GNU
- ;;
-esac
-# Now try BSD make style include.
-if test "$am__include" = "#"; then
- echo '.include "confinc"' > confmf
- case `$am_make -s -f confmf 2> /dev/null` in #(
- *the\ am__doit\ target*)
- am__include=.include
- am__quote="\""
- _am_result=BSD
- ;;
- esac
-fi
-AC_SUBST([am__include])
-AC_SUBST([am__quote])
-AC_MSG_RESULT([$_am_result])
-rm -f confinc confmf
+ AS_IF([test "x$USE_MAINTAINER_MODE" != xno && test ! -f "$mm_tagpath"],
+ [AC_MSG_WARN([Doxygen tag file $3 not found])])
+ AS_IF([test "x$mm_htmlrefdir" = x],
+ [AC_MSG_WARN([Location of external $1 documentation not set])],
+ [AS_IF([test "x$DOCINSTALL_FLAGS" = x],
+ [DOCINSTALL_FLAGS="-l '$mm_tagname@$mm_htmlrefdir/'"],
+ [DOCINSTALL_FLAGS="$DOCINSTALL_FLAGS -l '$mm_tagname@$mm_htmlrefdir/'"])])
+
+ AS_IF([test "x$mm_$2" = x], [mm_val=$mm_tagpath], [mm_val="$mm_tagpath=$mm_$2"])
+ AS_IF([test "x$DOXYGEN_TAGFILES" = x],
+ [DOXYGEN_TAGFILES=[\]"$mm_val[\]"],
+ [DOXYGEN_TAGFILES="$DOXYGEN_TAGFILES "[\]"$mm_val[\]"])[]dnl
])
-# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
+AC_DEFUN([MM_ARG_WITH_TAGFILE_DOC],
+[dnl
+m4_assert([$# >= 1])[]dnl
+m4_ifval([$2], [AC_REQUIRE([PKG_PROG_PKG_CONFIG])])[]dnl
+AC_REQUIRE([MM_CONFIG_DOCTOOL_DIR])[]dnl
+AC_REQUIRE([_MM_ARG_ENABLE_DOCUMENTATION])[]dnl
+dnl
+AS_IF([test "x$ENABLE_DOCUMENTATION" != xno],
+ [_MM_ARG_WITH_TAGFILE_DOC(m4_quote(m4_bpatsubst([$1], [[+]*\([-+][0123456789]\|[._]\).*$])),
+ [htmlref]m4_ifval([$2], [[pub]], [[dir]]), [$1], [$2])])[]dnl
+])
-# Copyright (C) 1997-2013 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-# AM_MISSING_PROG(NAME, PROGRAM)
-# ------------------------------
-AC_DEFUN([AM_MISSING_PROG],
-[AC_REQUIRE([AM_MISSING_HAS_RUN])
-$1=${$1-"${am_missing_run}$2"}
-AC_SUBST($1)])
+#serial 20091228
-# AM_MISSING_HAS_RUN
-# ------------------
-# Define MISSING if not defined so far and test if it is modern enough.
-# If it is, set am_missing_run to use it, otherwise, to nothing.
-AC_DEFUN([AM_MISSING_HAS_RUN],
-[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-AC_REQUIRE_AUX_FILE([missing])dnl
-if test x"${MISSING+set}" != xset; then
- case $am_aux_dir in
- *\ * | *\ *)
- MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
- *)
- MISSING="\${SHELL} $am_aux_dir/missing" ;;
- esac
-fi
-# Use eval to expand $SHELL
-if eval "$MISSING --is-lightweight"; then
- am_missing_run="$MISSING "
-else
- am_missing_run=
- AC_MSG_WARN(['missing' script is too old or missing])
-fi
+m4_define([_MM_INIT_MODULE_VERSION],
+[dnl
+m4_ifval([$3],
+[AC_SUBST([$2][_MAJOR_VERSION], [$3])
+AC_DEFINE([$2][_MAJOR_VERSION], [$3], [Major version number of $1.])
+])[]dnl
+m4_ifval([$4],
+[AC_SUBST([$2][_MINOR_VERSION], [$4])
+AC_DEFINE([$2][_MINOR_VERSION], [$4], [Minor version number of $1.])
+])[]dnl
+m4_ifval([$5],
+[AC_SUBST([$2][_MICRO_VERSION], [$5])
+AC_DEFINE([$2][_MICRO_VERSION], [$5], [Micro version number of $1.])
+])[]dnl
])
-# Helper functions for option handling. -*- Autoconf -*-
-
-# Copyright (C) 2001-2013 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
+m4_define([_MM_INIT_MODULE_SUBST],
+[dnl
+AC_SUBST([$5][_MODULE_NAME], ['$1'])
+AC_SUBST([$5][_VERSION], ['$2'])
+m4_ifval([$4],
+[AC_SUBST([$5][_API_VERSION], ['$4'])
+])[]dnl
+_MM_INIT_MODULE_VERSION([$3], [$5], m4_bpatsubst([$2], [[^0123456789]+], [,]))[]dnl
+])
-# _AM_MANGLE_OPTION(NAME)
-# -----------------------
-AC_DEFUN([_AM_MANGLE_OPTION],
-[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
+m4_define([_MM_INIT_MODULE_BASENAME],
+ [_MM_INIT_MODULE_SUBST([$1], [$2], [$3], [$4],
+ m4_quote(AS_TR_CPP(m4_quote(m4_translit([$3], [+], [X])))))])
-# _AM_SET_OPTION(NAME)
-# --------------------
-# Set option NAME. Presently that only means defining a flag for this option.
-AC_DEFUN([_AM_SET_OPTION],
-[m4_define(_AM_MANGLE_OPTION([$1]), [1])])
+AC_DEFUN([MM_INIT_MODULE],
+[dnl
+m4_assert([$# >= 1])[]dnl
+AC_REQUIRE([_MM_PRE_INIT])[]dnl
+AC_REQUIRE([MM_CHECK_GNU_MAKE])[]dnl
+_MM_INIT_MODULE_BASENAME([$1],
+ m4_quote(m4_ifval([$2], [$2], m4_defn([AC_PACKAGE_VERSION]))),
+ m4_quote(m4_bpatsubst([$1], [[-.0123456789]+$])),
+ m4_quote(m4_bregexp([$1], [-?\([.0123456789]+\)$], [\1])))[]dnl
+])
-# _AM_SET_OPTIONS(OPTIONS)
-# ------------------------
-# OPTIONS is a space-separated list of Automake options.
-AC_DEFUN([_AM_SET_OPTIONS],
-[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
-# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
-# -------------------------------------------
-# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
-AC_DEFUN([_AM_IF_OPTION],
-[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
+#serial 20090822
-# Copyright (C) 1999-2013 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
+m4_define([_MM_CHECK_GNU_MAKE],
+[dnl
+AC_PROVIDE([$0])[]dnl
+AC_MSG_CHECKING([whether [$]{MAKE-make} supports GNU make features])
+cat >conftest.make <<'_MMEOF'
+override reverse = [$](2)[$](subst ,, )[$](1)
+override result := [$](word 2,[$](call reverse,success,failure))
+all: ; test '[$](result)' = success
+.PHONY: all
+_MMEOF
+AS_IF([[$]{MAKE-make} -f conftest.make >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD],
+ [mm_gnu_make=yes], [mm_gnu_make=no])
+rm -f conftest.make
+AC_MSG_RESULT([$mm_gnu_make])
+AS_IF([test "x$mm_gnu_make" != xyes],
+ [AC_MSG_FAILURE([[The GNU make program is required to build $PACKAGE_NAME.]])])[]dnl
+])
-# _AM_PROG_CC_C_O
-# ---------------
-# Like AC_PROG_CC_C_O, but changed for automake. We rewrite AC_PROG_CC
-# to automatically call this.
-AC_DEFUN([_AM_PROG_CC_C_O],
-[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-AC_REQUIRE_AUX_FILE([compile])dnl
-AC_LANG_PUSH([C])dnl
-AC_CACHE_CHECK(
- [whether $CC understands -c and -o together],
- [am_cv_prog_cc_c_o],
- [AC_LANG_CONFTEST([AC_LANG_PROGRAM([])])
- # Make sure it works both with $CC and with simple cc.
- # Following AC_PROG_CC_C_O, we do the test twice because some
- # compilers refuse to overwrite an existing .o file with -o,
- # though they will create one.
- am_cv_prog_cc_c_o=yes
- for am_i in 1 2; do
- if AM_RUN_LOG([$CC -c conftest.$ac_ext -o conftest2.$ac_objext]) \
- && test -f conftest2.$ac_objext; then
- : OK
- else
- am_cv_prog_cc_c_o=no
- break
- fi
- done
- rm -f core conftest*
- unset am_i])
-if test "$am_cv_prog_cc_c_o" != yes; then
- # Losing compiler, so override with the script.
- # FIXME: It is wrong to rewrite CC.
- # But if we don't then we get into trouble of one sort or another.
- # A longer-term fix would be to have automake use am__CC in this case,
- # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
- CC="$am_aux_dir/compile $CC"
-fi
-AC_LANG_POP([C])])
+AC_DEFUN([MM_CHECK_GNU_MAKE],
+[dnl
+AC_REQUIRE([_MM_PRE_INIT])[]dnl
+AC_REQUIRE([_MM_CHECK_GNU_MAKE])[]dnl
+])
-# For backward compatibility.
-AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])])
+m4_define([_MM_PATH_PERL],
+[dnl
+AC_PROVIDE([$0])[]dnl
+AC_ARG_VAR([PERL], [path to Perl interpreter])[]dnl
+AC_PATH_PROG([PERL], [perl], [perl])[]dnl
+])
-# Copyright (C) 2001-2013 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
+AC_DEFUN([MM_PATH_PERL],
+[dnl
+AC_REQUIRE([_MM_PRE_INIT])[]dnl
+AC_REQUIRE([_MM_PATH_PERL])[]dnl
+])
-# AM_RUN_LOG(COMMAND)
-# -------------------
-# Run COMMAND, save the exit status in ac_status, and log it.
-# (This has been adapted from Autoconf's _AC_RUN_LOG macro.)
-AC_DEFUN([AM_RUN_LOG],
-[{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD
- ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
- (exit $ac_status); }])
+m4_define([_MM_CHECK_PERL],
+[dnl
+AS_IF([$PERL -e "require v$1; exit 0;" >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD],
+ [$2], m4_ifval([$2$3], [[$3]],
+ [[AC_MSG_FAILURE([[At least Perl ]$1[ is required to build $PACKAGE_NAME.]])]]))[]dnl
+])
-# Check to make sure that the build environment is sane. -*- Autoconf -*-
+AC_DEFUN([MM_CHECK_PERL],
+[dnl
+AC_REQUIRE([_MM_PRE_INIT])[]dnl
+AC_REQUIRE([_MM_PATH_PERL])[]dnl
+_MM_CHECK_PERL(m4_ifval([$1], [[$1]], [[5.6.0]]), [$2], [$3])[]dnl
+])
-# Copyright (C) 1996-2013 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
+AC_DEFUN([MM_PKG_CONFIG_SUBST],
+[dnl
+m4_assert([$# >= 2])[]dnl
+AC_REQUIRE([_MM_PRE_INIT])[]dnl
+AC_REQUIRE([PKG_PROG_PKG_CONFIG])[]dnl
+AC_MSG_CHECKING([for $1])
+dnl
+AS_IF([test -z "[$]{$1+set}"],
+ [$1=`$PKG_CONFIG $2 2>&AS_MESSAGE_LOG_FD`
+ AS_IF([test "[$]?" -eq 0], [$3], [$4])])
+dnl
+AC_MSG_RESULT([[$]$1])
+AC_SUBST([$1])[]dnl
+])
-# AM_SANITY_CHECK
-# ---------------
-AC_DEFUN([AM_SANITY_CHECK],
-[AC_MSG_CHECKING([whether build environment is sane])
-# Reject unsafe characters in $srcdir or the absolute working directory
-# name. Accept space and tab only in the latter.
-am_lf='
-'
-case `pwd` in
- *[[\\\"\#\$\&\'\`$am_lf]]*)
- AC_MSG_ERROR([unsafe absolute working directory name]);;
-esac
-case $srcdir in
- *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*)
- AC_MSG_ERROR([unsafe srcdir value: '$srcdir']);;
-esac
-# Do 'set' in a subshell so we don't clobber the current shell's
-# arguments. Must try -L first in case configure is actually a
-# symlink; some systems play weird games with the mod time of symlinks
-# (eg FreeBSD returns the mod time of the symlink's containing
-# directory).
-if (
- am_has_slept=no
- for am_try in 1 2; do
- echo "timestamp, slept: $am_has_slept" > conftest.file
- set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
- if test "$[*]" = "X"; then
- # -L didn't work.
- set X `ls -t "$srcdir/configure" conftest.file`
- fi
- if test "$[*]" != "X $srcdir/configure conftest.file" \
- && test "$[*]" != "X conftest.file $srcdir/configure"; then
+#serial 20091103
- # If neither matched, then we have a broken ls. This can happen
- # if, for instance, CONFIG_SHELL is bash and it inherits a
- # broken ls alias from the environment. This has actually
- # happened. Such a system could not be considered "sane".
- AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
- alias in your environment])
- fi
- if test "$[2]" = conftest.file || test $am_try -eq 2; then
- break
- fi
- # Just in case.
- sleep 1
- am_has_slept=yes
- done
- test "$[2]" = conftest.file
- )
-then
- # Ok.
- :
-else
- AC_MSG_ERROR([newly created file is older than distributed files!
-Check your system clock])
-fi
-AC_MSG_RESULT([yes])
-# If we didn't sleep, we still need to ensure time stamps of config.status and
-# generated files are strictly newer.
-am_sleep_pid=
-if grep 'slept: no' conftest.file >/dev/null 2>&1; then
- ( sleep 1 ) &
- am_sleep_pid=$!
-fi
-AC_CONFIG_COMMANDS_PRE(
- [AC_MSG_CHECKING([that generated files are newer than configure])
- if test -n "$am_sleep_pid"; then
- # Hide warnings about reused PIDs.
- wait $am_sleep_pid 2>/dev/null
- fi
- AC_MSG_RESULT([done])])
-rm -f conftest.file
+m4_define([_MM_ARG_ENABLE_WARNINGS_OPTION],
+[dnl
+AC_PROVIDE([$0])[]dnl
+AC_ARG_ENABLE([warnings],
+ [AS_HELP_STRING([[--enable-warnings[=min|max|fatal|no]]],
+ [set compiler pedantry level [default=min]])],
+ [mm_enable_warnings=$enableval],
+ [mm_enable_warnings=min])[]dnl
])
-# Copyright (C) 2009-2013 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
+AC_DEFUN([MM_ARG_ENABLE_WARNINGS],
+[dnl
+m4_assert([$# >= 3])[]dnl
+AC_REQUIRE([_MM_PRE_INIT])[]dnl
+AC_REQUIRE([_MM_ARG_ENABLE_WARNINGS_OPTION])[]dnl
+dnl
+AS_CASE([$ac_compile],
+ [[*'$CXXFLAGS '*]], [mm_lang='C++' mm_cc=$CXX mm_conftest="conftest.[$]{ac_ext-cc}"],
+ [[*'$CFLAGS '*]], [mm_lang=C mm_cc=$CC mm_conftest="conftest.[$]{ac_ext-c}"],
+ [AC_MSG_ERROR([[current language is neither C nor C++]])])
+dnl
+AC_MSG_CHECKING([which $mm_lang compiler warning flags to use])
+m4_ifval([$4], [mm_deprecation_flags=
+])mm_tested_flags=
+dnl
+AS_CASE([$mm_enable_warnings],
+ [no], [mm_warning_flags=],
+ [max], [mm_warning_flags="$3"],
+ [fatal], [mm_warning_flags="$3 -Werror"[]m4_ifval([$4], [
+ for mm_prefix in $4
+ do
+ mm_deprecation_flags="$mm_deprecation_flags-D[$]{mm_prefix}_DISABLE_DEPRECATED "
+ done])],
+ [mm_warning_flags="$2"])
+dnl
+AS_IF([test "x$mm_warning_flags" != x],
+[
+ # Keep in mind that the dummy source must be devoid of any
+ # problems that might cause diagnostics.
+ AC_LANG_CONFTEST([AC_LANG_SOURCE([[
+int main(int argc, char** argv) { return (argv != 0) ? argc : 0; }
+]])])
+ for mm_flag in $mm_warning_flags
+ do
+ # Test whether the compiler accepts the flag. Look at standard output,
+ # since GCC only shows a warning message if an option is not supported.
+ mm_cc_out=`$mm_cc $mm_tested_flags $mm_flag -c "$mm_conftest" 2>&1 || echo failed`
+ rm -f "conftest.[$]{OBJEXT-o}"
-# AM_SILENT_RULES([DEFAULT])
-# --------------------------
-# Enable less verbose build rules; with the default set to DEFAULT
-# ("yes" being less verbose, "no" or empty being verbose).
-AC_DEFUN([AM_SILENT_RULES],
-[AC_ARG_ENABLE([silent-rules], [dnl
-AS_HELP_STRING(
- [--enable-silent-rules],
- [less verbose build output (undo: "make V=1")])
-AS_HELP_STRING(
- [--disable-silent-rules],
- [verbose build output (undo: "make V=0")])dnl
+ AS_IF([test "x$mm_cc_out" = x],
+ [AS_IF([test "x$mm_tested_flags" = x],
+ [mm_tested_flags=$mm_flag],
+ [mm_tested_flags="$mm_tested_flags $mm_flag"])],
+[cat <<_MMEOF >&AS_MESSAGE_LOG_FD
+$mm_cc: $mm_cc_out
+_MMEOF
])
-case $enable_silent_rules in @%:@ (((
- yes) AM_DEFAULT_VERBOSITY=0;;
- no) AM_DEFAULT_VERBOSITY=1;;
- *) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);;
-esac
+ done
+ rm -f "$mm_conftest"
+])
+mm_all_flags=m4_ifval([$4], [$mm_deprecation_flags])$mm_tested_flags
+AC_SUBST([$1], [$mm_all_flags])
dnl
-dnl A few 'make' implementations (e.g., NonStop OS and NextStep)
-dnl do not support nested variable expansions.
-dnl See automake bug#9928 and bug#10237.
-am_make=${MAKE-make}
-AC_CACHE_CHECK([whether $am_make supports nested variables],
- [am_cv_make_support_nested_variables],
- [if AS_ECHO([['TRUE=$(BAR$(V))
-BAR0=false
-BAR1=true
-V=1
-am__doit:
- @$(TRUE)
-.PHONY: am__doit']]) | $am_make -f - >/dev/null 2>&1; then
- am_cv_make_support_nested_variables=yes
-else
- am_cv_make_support_nested_variables=no
-fi])
-if test $am_cv_make_support_nested_variables = yes; then
- dnl Using '$V' instead of '$(V)' breaks IRIX make.
- AM_V='$(V)'
- AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
-else
- AM_V=$AM_DEFAULT_VERBOSITY
- AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
-fi
-AC_SUBST([AM_V])dnl
-AM_SUBST_NOTMAKE([AM_V])dnl
-AC_SUBST([AM_DEFAULT_V])dnl
-AM_SUBST_NOTMAKE([AM_DEFAULT_V])dnl
-AC_SUBST([AM_DEFAULT_VERBOSITY])dnl
-AM_BACKSLASH='\'
-AC_SUBST([AM_BACKSLASH])dnl
-_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
+test "x$mm_all_flags" != x || mm_all_flags=none
+AC_MSG_RESULT([$mm_all_flags])[]dnl
])
-# Copyright (C) 2001-2013 Free Software Foundation, Inc.
+# Copyright (C) 2002-2013 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# AM_PROG_INSTALL_STRIP
-# ---------------------
-# One issue with vendor 'install' (even GNU) is that you can't
-# specify the program used to strip binaries. This is especially
-# annoying in cross-compiling environments, where the build's strip
-# is unlikely to handle the host's binaries.
-# Fortunately install-sh will honor a STRIPPROG variable, so we
-# always use install-sh in "make install-strip", and initialize
-# STRIPPROG with the value of the STRIP variable (set by the user).
-AC_DEFUN([AM_PROG_INSTALL_STRIP],
-[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
-# Installed binaries are usually stripped using 'strip' when the user
-# run "make install-strip". However 'strip' might not be the right
-# tool to use in cross-compilation environments, therefore Automake
-# will honor the 'STRIP' environment variable to overrule this program.
-dnl Don't test for $cross_compiling = yes, because it might be 'maybe'.
-if test "$cross_compiling" != no; then
- AC_CHECK_TOOL([STRIP], [strip], :)
-fi
-INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
-AC_SUBST([INSTALL_STRIP_PROGRAM])])
+# AM_AUTOMAKE_VERSION(VERSION)
+# ----------------------------
+# Automake X.Y traces this macro to ensure aclocal.m4 has been
+# generated from the m4 files accompanying Automake X.Y.
+# (This private macro should not be called outside this file.)
+AC_DEFUN([AM_AUTOMAKE_VERSION],
+[am__api_version='1.14'
+dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
+dnl require some minimum version. Point them to the right macro.
+m4_if([$1], [1.14.1], [],
+ [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
+])
-# Copyright (C) 2006-2013 Free Software Foundation, Inc.
+# _AM_AUTOCONF_VERSION(VERSION)
+# -----------------------------
+# aclocal traces this macro to find the Autoconf version.
+# This is a private macro too. Using m4_define simplifies
+# the logic in aclocal, which can simply ignore this definition.
+m4_define([_AM_AUTOCONF_VERSION], [])
+
+# AM_SET_CURRENT_AUTOMAKE_VERSION
+# -------------------------------
+# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
+# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
+AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
+[AM_AUTOMAKE_VERSION([1.14.1])dnl
+m4_ifndef([AC_AUTOCONF_VERSION],
+ [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
+_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
+
+# AM_AUX_DIR_EXPAND -*- Autoconf -*-
+
+# Copyright (C) 2001-2013 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# _AM_SUBST_NOTMAKE(VARIABLE)
-# ---------------------------
-# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
-# This macro is traced by Automake.
-AC_DEFUN([_AM_SUBST_NOTMAKE])
+# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
+# $ac_aux_dir to '$srcdir/foo'. In other projects, it is set to
+# '$srcdir', '$srcdir/..', or '$srcdir/../..'.
+#
+# Of course, Automake must honor this variable whenever it calls a
+# tool from the auxiliary directory. The problem is that $srcdir (and
+# therefore $ac_aux_dir as well) can be either absolute or relative,
+# depending on how configure is run. This is pretty annoying, since
+# it makes $ac_aux_dir quite unusable in subdirectories: in the top
+# source directory, any form will work fine, but in subdirectories a
+# relative path needs to be adjusted first.
+#
+# $ac_aux_dir/missing
+# fails when called from a subdirectory if $ac_aux_dir is relative
+# $top_srcdir/$ac_aux_dir/missing
+# fails if $ac_aux_dir is absolute,
+# fails when called from a subdirectory in a VPATH build with
+# a relative $ac_aux_dir
+#
+# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
+# are both prefixed by $srcdir. In an in-source build this is usually
+# harmless because $srcdir is '.', but things will broke when you
+# start a VPATH build or use an absolute $srcdir.
+#
+# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
+# iff we strip the leading $srcdir from $ac_aux_dir. That would be:
+# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
+# and then we would define $MISSING as
+# MISSING="\${SHELL} $am_aux_dir/missing"
+# This will work as long as MISSING is not called from configure, because
+# unfortunately $(top_srcdir) has no meaning in configure.
+# However there are other variables, like CC, which are often used in
+# configure, and could therefore not use this "fixed" $ac_aux_dir.
+#
+# Another solution, used here, is to always expand $ac_aux_dir to an
+# absolute PATH. The drawback is that using absolute paths prevent a
+# configured tree to be moved without reconfiguration.
-# AM_SUBST_NOTMAKE(VARIABLE)
-# --------------------------
-# Public sister of _AM_SUBST_NOTMAKE.
-AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
+AC_DEFUN([AM_AUX_DIR_EXPAND],
+[dnl Rely on autoconf to set up CDPATH properly.
+AC_PREREQ([2.50])dnl
+# expand $ac_aux_dir to an absolute path
+am_aux_dir=`cd $ac_aux_dir && pwd`
+])
-# Check how to create a tarball. -*- Autoconf -*-
+# AM_CONDITIONAL -*- Autoconf -*-
-# Copyright (C) 2004-2013 Free Software Foundation, Inc.
+# Copyright (C) 1997-2013 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# _AM_PROG_TAR(FORMAT)
-# --------------------
-# Check how to create a tarball in format FORMAT.
-# FORMAT should be one of 'v7', 'ustar', or 'pax'.
-#
-# Substitute a variable $(am__tar) that is a command
-# writing to stdout a FORMAT-tarball containing the directory
-# $tardir.
-# tardir=directory && $(am__tar) > result.tar
-#
-# Substitute a variable $(am__untar) that extract such
-# a tarball read from stdin.
-# $(am__untar) < result.tar
+# AM_CONDITIONAL(NAME, SHELL-CONDITION)
+# -------------------------------------
+# Define a conditional.
+AC_DEFUN([AM_CONDITIONAL],
+[AC_PREREQ([2.52])dnl
+ m4_if([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])],
+ [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
+AC_SUBST([$1_TRUE])dnl
+AC_SUBST([$1_FALSE])dnl
+_AM_SUBST_NOTMAKE([$1_TRUE])dnl
+_AM_SUBST_NOTMAKE([$1_FALSE])dnl
+m4_define([_AM_COND_VALUE_$1], [$2])dnl
+if $2; then
+ $1_TRUE=
+ $1_FALSE='#'
+else
+ $1_TRUE='#'
+ $1_FALSE=
+fi
+AC_CONFIG_COMMANDS_PRE(
+[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
+ AC_MSG_ERROR([[conditional "$1" was never defined.
+Usually this means the macro was only invoked conditionally.]])
+fi])])
+
+# Copyright (C) 1999-2013 Free Software Foundation, Inc.
#
-AC_DEFUN([_AM_PROG_TAR],
-[# Always define AMTAR for backward compatibility. Yes, it's still used
-# in the wild :-( We should find a proper way to deprecate it ...
-AC_SUBST([AMTAR], ['$${TAR-tar}'])
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
-# We'll loop over all known methods to create a tar archive until one works.
-_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
-m4_if([$1], [v7],
- [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'],
+# There are a few dirty hacks below to avoid letting 'AC_PROG_CC' be
+# written in clear, in which case automake, when reading aclocal.m4,
+# will think it sees a *use*, and therefore will trigger all it's
+# C support machinery. Also note that it means that autoscan, seeing
+# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
- [m4_case([$1],
- [ustar],
- [# The POSIX 1988 'ustar' format is defined with fixed-size fields.
- # There is notably a 21 bits limit for the UID and the GID. In fact,
- # the 'pax' utility can hang on bigger UID/GID (see automake bug#8343
- # and bug#13588).
- am_max_uid=2097151 # 2^21 - 1
- am_max_gid=$am_max_uid
- # The $UID and $GID variables are not portable, so we need to resort
- # to the POSIX-mandated id(1) utility. Errors in the 'id' calls
- # below are definitely unexpected, so allow the users to see them
- # (that is, avoid stderr redirection).
- am_uid=`id -u || echo unknown`
- am_gid=`id -g || echo unknown`
- AC_MSG_CHECKING([whether UID '$am_uid' is supported by ustar format])
- if test $am_uid -le $am_max_uid; then
- AC_MSG_RESULT([yes])
- else
- AC_MSG_RESULT([no])
- _am_tools=none
- fi
- AC_MSG_CHECKING([whether GID '$am_gid' is supported by ustar format])
- if test $am_gid -le $am_max_gid; then
- AC_MSG_RESULT([yes])
- else
- AC_MSG_RESULT([no])
- _am_tools=none
- fi],
- [pax],
- [],
+# _AM_DEPENDENCIES(NAME)
+# ----------------------
+# See how the compiler implements dependency checking.
+# NAME is "CC", "CXX", "OBJC", "OBJCXX", "UPC", or "GJC".
+# We try a few techniques and use that to set a single cache variable.
+#
+# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
+# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
+# dependency, and given that the user is not expected to run this macro,
+# just rely on AC_PROG_CC.
+AC_DEFUN([_AM_DEPENDENCIES],
+[AC_REQUIRE([AM_SET_DEPDIR])dnl
+AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
+AC_REQUIRE([AM_MAKE_INCLUDE])dnl
+AC_REQUIRE([AM_DEP_TRACK])dnl
+
+m4_if([$1], [CC], [depcc="$CC" am_compiler_list=],
+ [$1], [CXX], [depcc="$CXX" am_compiler_list=],
+ [$1], [OBJC], [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
+ [$1], [OBJCXX], [depcc="$OBJCXX" am_compiler_list='gcc3 gcc'],
+ [$1], [UPC], [depcc="$UPC" am_compiler_list=],
+ [$1], [GCJ], [depcc="$GCJ" am_compiler_list='gcc3 gcc'],
+ [depcc="$$1" am_compiler_list=])
- [m4_fatal([Unknown tar format])])
+AC_CACHE_CHECK([dependency style of $depcc],
+ [am_cv_$1_dependencies_compiler_type],
+[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+ # We make a subdir and do the tests there. Otherwise we can end up
+ # making bogus files that we don't know about and never remove. For
+ # instance it was reported that on HP-UX the gcc test will end up
+ # making a dummy file named 'D' -- because '-MD' means "put the output
+ # in D".
+ rm -rf conftest.dir
+ mkdir conftest.dir
+ # Copy depcomp to subdir because otherwise we won't find it if we're
+ # using a relative directory.
+ cp "$am_depcomp" conftest.dir
+ cd conftest.dir
+ # We will build objects and dependencies in a subdirectory because
+ # it helps to detect inapplicable dependency modes. For instance
+ # both Tru64's cc and ICC support -MD to output dependencies as a
+ # side effect of compilation, but ICC will put the dependencies in
+ # the current directory while Tru64 will put them in the object
+ # directory.
+ mkdir sub
- AC_MSG_CHECKING([how to create a $1 tar archive])
+ am_cv_$1_dependencies_compiler_type=none
+ if test "$am_compiler_list" = ""; then
+ am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
+ fi
+ am__universal=false
+ m4_case([$1], [CC],
+ [case " $depcc " in #(
+ *\ -arch\ *\ -arch\ *) am__universal=true ;;
+ esac],
+ [CXX],
+ [case " $depcc " in #(
+ *\ -arch\ *\ -arch\ *) am__universal=true ;;
+ esac])
- # Go ahead even if we have the value already cached. We do so because we
- # need to set the values for the 'am__tar' and 'am__untar' variables.
- _am_tools=${am_cv_prog_tar_$1-$_am_tools}
+ for depmode in $am_compiler_list; do
+ # Setup a source with many dependencies, because some compilers
+ # like to wrap large dependency lists on column 80 (with \), and
+ # we should not choose a depcomp mode which is confused by this.
+ #
+ # We need to recreate these files for each test, as the compiler may
+ # overwrite some of them when testing with obscure command lines.
+ # This happens at least with the AIX C compiler.
+ : > sub/conftest.c
+ for i in 1 2 3 4 5 6; do
+ echo '#include "conftst'$i'.h"' >> sub/conftest.c
+ # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with
+ # Solaris 10 /bin/sh.
+ echo '/* dummy */' > sub/conftst$i.h
+ done
+ echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
- for _am_tool in $_am_tools; do
- case $_am_tool in
- gnutar)
- for _am_tar in tar gnutar gtar; do
- AM_RUN_LOG([$_am_tar --version]) && break
- done
- am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
- am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
- am__untar="$_am_tar -xf -"
- ;;
- plaintar)
- # Must skip GNU tar: if it does not support --format= it doesn't create
- # ustar tarball either.
- (tar --version) >/dev/null 2>&1 && continue
- am__tar='tar chf - "$$tardir"'
- am__tar_='tar chf - "$tardir"'
- am__untar='tar xf -'
- ;;
- pax)
- am__tar='pax -L -x $1 -w "$$tardir"'
- am__tar_='pax -L -x $1 -w "$tardir"'
- am__untar='pax -r'
+ # We check with '-c' and '-o' for the sake of the "dashmstdout"
+ # mode. It turns out that the SunPro C++ compiler does not properly
+ # handle '-M -o', and we need to detect this. Also, some Intel
+ # versions had trouble with output in subdirs.
+ am__obj=sub/conftest.${OBJEXT-o}
+ am__minus_obj="-o $am__obj"
+ case $depmode in
+ gcc)
+ # This depmode causes a compiler race in universal mode.
+ test "$am__universal" = false || continue
;;
- cpio)
- am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
- am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
- am__untar='cpio -i -H $1 -d'
+ nosideeffect)
+ # After this tag, mechanisms are not by side-effect, so they'll
+ # only be used when explicitly requested.
+ if test "x$enable_dependency_tracking" = xyes; then
+ continue
+ else
+ break
+ fi
;;
- none)
- am__tar=false
- am__tar_=false
- am__untar=false
+ msvc7 | msvc7msys | msvisualcpp | msvcmsys)
+ # This compiler won't grok '-c -o', but also, the minuso test has
+ # not run yet. These depmodes are late enough in the game, and
+ # so weak that their functioning should not be impacted.
+ am__obj=conftest.${OBJEXT-o}
+ am__minus_obj=
;;
+ none) break ;;
esac
-
- # If the value was cached, stop now. We just wanted to have am__tar
- # and am__untar set.
- test -n "${am_cv_prog_tar_$1}" && break
-
- # tar/untar a dummy directory, and stop if the command works.
- rm -rf conftest.dir
- mkdir conftest.dir
- echo GrepMe > conftest.dir/file
- AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
- rm -rf conftest.dir
- if test -s conftest.tar; then
- AM_RUN_LOG([$am__untar <conftest.tar])
- AM_RUN_LOG([cat conftest.dir/file])
- grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
+ if depmode=$depmode \
+ source=sub/conftest.c object=$am__obj \
+ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
+ >/dev/null 2>conftest.err &&
+ grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
+ grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
+ grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
+ ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+ # icc doesn't choke on unknown options, it will just issue warnings
+ # or remarks (even with -Werror). So we grep stderr for any message
+ # that says an option was ignored or not supported.
+ # When given -MP, icc 7.0 and 7.1 complain thusly:
+ # icc: Command line warning: ignoring option '-M'; no argument required
+ # The diagnosis changed in icc 8.0:
+ # icc: Command line remark: option '-MP' not supported
+ if (grep 'ignoring option' conftest.err ||
+ grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
+ am_cv_$1_dependencies_compiler_type=$depmode
+ break
+ fi
fi
done
- rm -rf conftest.dir
- AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
- AC_MSG_RESULT([$am_cv_prog_tar_$1])])
+ cd ..
+ rm -rf conftest.dir
+else
+ am_cv_$1_dependencies_compiler_type=none
+fi
+])
+AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
+AM_CONDITIONAL([am__fastdep$1], [
+ test "x$enable_dependency_tracking" != xno \
+ && test "$am_cv_$1_dependencies_compiler_type" = gcc3])
+])
-AC_SUBST([am__tar])
-AC_SUBST([am__untar])
-]) # _AM_PROG_TAR
-# pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*-
-# serial 1 (pkg-config-0.24)
-#
-# Copyright © 2004 Scott James Remnant <scott@netsplit.com>.
-#
-# 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.
+# AM_SET_DEPDIR
+# -------------
+# Choose a directory name for dependency files.
+# This macro is AC_REQUIREd in _AM_DEPENDENCIES.
+AC_DEFUN([AM_SET_DEPDIR],
+[AC_REQUIRE([AM_SET_LEADING_DOT])dnl
+AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
+])
-# PKG_PROG_PKG_CONFIG([MIN-VERSION])
-# ----------------------------------
-AC_DEFUN([PKG_PROG_PKG_CONFIG],
-[m4_pattern_forbid([^_?PKG_[A-Z_]+$])
-m4_pattern_allow([^PKG_CONFIG(_(PATH|LIBDIR|SYSROOT_DIR|ALLOW_SYSTEM_(CFLAGS|LIBS)))?$])
-m4_pattern_allow([^PKG_CONFIG_(DISABLE_UNINSTALLED|TOP_BUILD_DIR|DEBUG_SPEW)$])
-AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])
-AC_ARG_VAR([PKG_CONFIG_PATH], [directories to add to pkg-config's search path])
-AC_ARG_VAR([PKG_CONFIG_LIBDIR], [path overriding pkg-config's built-in search path])
-if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
- AC_PATH_TOOL([PKG_CONFIG], [pkg-config])
+# AM_DEP_TRACK
+# ------------
+AC_DEFUN([AM_DEP_TRACK],
+[AC_ARG_ENABLE([dependency-tracking], [dnl
+AS_HELP_STRING(
+ [--enable-dependency-tracking],
+ [do not reject slow dependency extractors])
+AS_HELP_STRING(
+ [--disable-dependency-tracking],
+ [speeds up one-time build])])
+if test "x$enable_dependency_tracking" != xno; then
+ am_depcomp="$ac_aux_dir/depcomp"
+ AMDEPBACKSLASH='\'
+ am__nodep='_no'
fi
-if test -n "$PKG_CONFIG"; then
- _pkg_min_version=m4_default([$1], [0.9.0])
- AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version])
- if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
- AC_MSG_RESULT([yes])
- else
- AC_MSG_RESULT([no])
- PKG_CONFIG=""
- fi
-fi[]dnl
-])# PKG_PROG_PKG_CONFIG
+AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
+AC_SUBST([AMDEPBACKSLASH])dnl
+_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
+AC_SUBST([am__nodep])dnl
+_AM_SUBST_NOTMAKE([am__nodep])dnl
+])
-# PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
-#
-# Check to see whether a particular set of modules exists. Similar
-# to PKG_CHECK_MODULES(), but does not set variables or print errors.
-#
-# Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG])
-# only at the first occurence in configure.ac, so if the first place
-# it's called might be skipped (such as if it is within an "if", you
-# have to call PKG_CHECK_EXISTS manually
-# --------------------------------------------------------------
-AC_DEFUN([PKG_CHECK_EXISTS],
-[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
-if test -n "$PKG_CONFIG" && \
- AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then
- m4_default([$2], [:])
-m4_ifvaln([$3], [else
- $3])dnl
-fi])
+# Generate code to set up dependency tracking. -*- Autoconf -*-
-# _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES])
-# ---------------------------------------------
-m4_define([_PKG_CONFIG],
-[if test -n "$$1"; then
- pkg_cv_[]$1="$$1"
- elif test -n "$PKG_CONFIG"; then
- PKG_CHECK_EXISTS([$3],
- [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`
- test "x$?" != "x0" && pkg_failed=yes ],
- [pkg_failed=yes])
- else
- pkg_failed=untried
-fi[]dnl
-])# _PKG_CONFIG
+# Copyright (C) 1999-2013 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
-# _PKG_SHORT_ERRORS_SUPPORTED
-# -----------------------------
-AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED],
-[AC_REQUIRE([PKG_PROG_PKG_CONFIG])
-if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
- _pkg_short_errors_supported=yes
-else
- _pkg_short_errors_supported=no
-fi[]dnl
-])# _PKG_SHORT_ERRORS_SUPPORTED
+
+# _AM_OUTPUT_DEPENDENCY_COMMANDS
+# ------------------------------
+AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
+[{
+ # Older Autoconf quotes --file arguments for eval, but not when files
+ # are listed without --file. Let's play safe and only enable the eval
+ # if we detect the quoting.
+ case $CONFIG_FILES in
+ *\'*) eval set x "$CONFIG_FILES" ;;
+ *) set x $CONFIG_FILES ;;
+ esac
+ shift
+ for mf
+ do
+ # Strip MF so we end up with the name of the file.
+ mf=`echo "$mf" | sed -e 's/:.*$//'`
+ # Check whether this is an Automake generated Makefile or not.
+ # We used to match only the files named 'Makefile.in', but
+ # some people rename them; so instead we look at the file content.
+ # Grep'ing the first line is not enough: some people post-process
+ # each Makefile.in and add a new line on top of each file to say so.
+ # Grep'ing the whole file is not good either: AIX grep has a line
+ # limit of 2048, but all sed's we know have understand at least 4000.
+ if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
+ dirpart=`AS_DIRNAME("$mf")`
+ else
+ continue
+ fi
+ # Extract the definition of DEPDIR, am__include, and am__quote
+ # from the Makefile without running 'make'.
+ DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
+ test -z "$DEPDIR" && continue
+ am__include=`sed -n 's/^am__include = //p' < "$mf"`
+ test -z "$am__include" && continue
+ am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
+ # Find all dependency output files, they are included files with
+ # $(DEPDIR) in their names. We invoke sed twice because it is the
+ # simplest approach to changing $(DEPDIR) to its actual value in the
+ # expansion.
+ for file in `sed -n "
+ s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
+ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do
+ # Make sure the directory exists.
+ test -f "$dirpart/$file" && continue
+ fdir=`AS_DIRNAME(["$file"])`
+ AS_MKDIR_P([$dirpart/$fdir])
+ # echo "creating $dirpart/$file"
+ echo '# dummy' > "$dirpart/$file"
+ done
+ done
+}
+])# _AM_OUTPUT_DEPENDENCY_COMMANDS
-# PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
-# [ACTION-IF-NOT-FOUND])
-#
-#
-# Note that if there is a possibility the first call to
-# PKG_CHECK_MODULES might not happen, you should be sure to include an
-# explicit call to PKG_PROG_PKG_CONFIG in your configure.ac
+# AM_OUTPUT_DEPENDENCY_COMMANDS
+# -----------------------------
+# This macro should only be invoked once -- use via AC_REQUIRE.
#
+# This code is only required when automatic dependency tracking
+# is enabled. FIXME. This creates each '.P' file that we will
+# need in order to bootstrap the dependency handling code.
+AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
+[AC_CONFIG_COMMANDS([depfiles],
+ [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
+ [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
+])
+
+# Do all the work for Automake. -*- Autoconf -*-
+
+# Copyright (C) 1996-2013 Free Software Foundation, Inc.
#
-# --------------------------------------------------------------
-AC_DEFUN([PKG_CHECK_MODULES],
-[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
-AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl
-AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
-pkg_failed=no
-AC_MSG_CHECKING([for $1])
+# This macro actually does too much. Some checks are only needed if
+# your package does certain things. But this isn't really a big deal.
-_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2])
-_PKG_CONFIG([$1][_LIBS], [libs], [$2])
+dnl Redefine AC_PROG_CC to automatically invoke _AM_PROG_CC_C_O.
+m4_define([AC_PROG_CC],
+m4_defn([AC_PROG_CC])
+[_AM_PROG_CC_C_O
+])
-m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS
-and $1[]_LIBS to avoid the need to call pkg-config.
-See the pkg-config man page for more details.])
+# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
+# AM_INIT_AUTOMAKE([OPTIONS])
+# -----------------------------------------------
+# The call with PACKAGE and VERSION arguments is the old style
+# call (pre autoconf-2.50), which is being phased out. PACKAGE
+# and VERSION should now be passed to AC_INIT and removed from
+# the call to AM_INIT_AUTOMAKE.
+# We support both call styles for the transition. After
+# the next Automake release, Autoconf can make the AC_INIT
+# arguments mandatory, and then we can depend on a new Autoconf
+# release and drop the old call support.
+AC_DEFUN([AM_INIT_AUTOMAKE],
+[AC_PREREQ([2.65])dnl
+dnl Autoconf wants to disallow AM_ names. We explicitly allow
+dnl the ones we care about.
+m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
+AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
+AC_REQUIRE([AC_PROG_INSTALL])dnl
+if test "`cd $srcdir && pwd`" != "`pwd`"; then
+ # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
+ # is not polluted with repeated "-I."
+ AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl
+ # test to see if srcdir already configured
+ if test -f $srcdir/config.status; then
+ AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+ fi
+fi
-if test $pkg_failed = yes; then
- AC_MSG_RESULT([no])
- _PKG_SHORT_ERRORS_SUPPORTED
- if test $_pkg_short_errors_supported = yes; then
- $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$2" 2>&1`
- else
- $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$2" 2>&1`
- fi
- # Put the nasty error message in config.log where it belongs
- echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD
+# test whether we have cygpath
+if test -z "$CYGPATH_W"; then
+ if (cygpath --version) >/dev/null 2>/dev/null; then
+ CYGPATH_W='cygpath -w'
+ else
+ CYGPATH_W=echo
+ fi
+fi
+AC_SUBST([CYGPATH_W])
- m4_default([$4], [AC_MSG_ERROR(
-[Package requirements ($2) were not met:
+# Define the identity of the package.
+dnl Distinguish between old-style and new-style calls.
+m4_ifval([$2],
+[AC_DIAGNOSE([obsolete],
+ [$0: two- and three-arguments forms are deprecated.])
+m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
+ AC_SUBST([PACKAGE], [$1])dnl
+ AC_SUBST([VERSION], [$2])],
+[_AM_SET_OPTIONS([$1])dnl
+dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
+m4_if(
+ m4_ifdef([AC_PACKAGE_NAME], [ok]):m4_ifdef([AC_PACKAGE_VERSION], [ok]),
+ [ok:ok],,
+ [m4_fatal([AC_INIT should be called with package and version arguments])])dnl
+ AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
+ AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
-$$1_PKG_ERRORS
+_AM_IF_OPTION([no-define],,
+[AC_DEFINE_UNQUOTED([PACKAGE], ["$PACKAGE"], [Name of package])
+ AC_DEFINE_UNQUOTED([VERSION], ["$VERSION"], [Version number of package])])dnl
-Consider adjusting the PKG_CONFIG_PATH environment variable if you
-installed software in a non-standard prefix.
+# Some tools Automake needs.
+AC_REQUIRE([AM_SANITY_CHECK])dnl
+AC_REQUIRE([AC_ARG_PROGRAM])dnl
+AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}])
+AM_MISSING_PROG([AUTOCONF], [autoconf])
+AM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}])
+AM_MISSING_PROG([AUTOHEADER], [autoheader])
+AM_MISSING_PROG([MAKEINFO], [makeinfo])
+AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
+AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
+AC_REQUIRE([AC_PROG_MKDIR_P])dnl
+# For better backward compatibility. To be removed once Automake 1.9.x
+# dies out for good. For more background, see:
+# <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
+# <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
+AC_SUBST([mkdir_p], ['$(MKDIR_P)'])
+# We need awk for the "check" target. The system "awk" is bad on
+# some platforms.
+AC_REQUIRE([AC_PROG_AWK])dnl
+AC_REQUIRE([AC_PROG_MAKE_SET])dnl
+AC_REQUIRE([AM_SET_LEADING_DOT])dnl
+_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
+ [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
+ [_AM_PROG_TAR([v7])])])
+_AM_IF_OPTION([no-dependencies],,
+[AC_PROVIDE_IFELSE([AC_PROG_CC],
+ [_AM_DEPENDENCIES([CC])],
+ [m4_define([AC_PROG_CC],
+ m4_defn([AC_PROG_CC])[_AM_DEPENDENCIES([CC])])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_CXX],
+ [_AM_DEPENDENCIES([CXX])],
+ [m4_define([AC_PROG_CXX],
+ m4_defn([AC_PROG_CXX])[_AM_DEPENDENCIES([CXX])])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_OBJC],
+ [_AM_DEPENDENCIES([OBJC])],
+ [m4_define([AC_PROG_OBJC],
+ m4_defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_OBJCXX],
+ [_AM_DEPENDENCIES([OBJCXX])],
+ [m4_define([AC_PROG_OBJCXX],
+ m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl
+])
+AC_REQUIRE([AM_SILENT_RULES])dnl
+dnl The testsuite driver may need to know about EXEEXT, so add the
+dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This
+dnl macro is hooked onto _AC_COMPILER_EXEEXT early, see below.
+AC_CONFIG_COMMANDS_PRE(dnl
+[m4_provide_if([_AM_COMPILER_EXEEXT],
+ [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
+
+# POSIX will say in a future version that running "rm -f" with no argument
+# is OK; and we want to be able to make that assumption in our Makefile
+# recipes. So use an aggressive probe to check that the usage we want is
+# actually supported "in the wild" to an acceptable degree.
+# See automake bug#10828.
+# To make any issue more visible, cause the running configure to be aborted
+# by default if the 'rm' program in use doesn't match our expectations; the
+# user can still override this though.
+if rm -f && rm -fr && rm -rf; then : OK; else
+ cat >&2 <<'END'
+Oops!
-_PKG_TEXT])[]dnl
- ])
-elif test $pkg_failed = untried; then
- AC_MSG_RESULT([no])
- m4_default([$4], [AC_MSG_FAILURE(
-[The pkg-config script could not be found or is too old. Make sure it
-is in your PATH or set the PKG_CONFIG environment variable to the full
-path to pkg-config.
+Your 'rm' program seems unable to run without file operands specified
+on the command line, even when the '-f' option is present. This is contrary
+to the behaviour of most rm programs out there, and not conforming with
+the upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542>
-_PKG_TEXT
+Please tell bug-automake@gnu.org about your system, including the value
+of your $PATH and any error possibly output before this message. This
+can help us improve future automake versions.
-To get pkg-config, see <http://pkg-config.freedesktop.org/>.])[]dnl
- ])
-else
- $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS
- $1[]_LIBS=$pkg_cv_[]$1[]_LIBS
- AC_MSG_RESULT([yes])
- $3
-fi[]dnl
-])# PKG_CHECK_MODULES
+END
+ if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then
+ echo 'Configuration will proceed anyway, since you have set the' >&2
+ echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2
+ echo >&2
+ else
+ cat >&2 <<'END'
+Aborting the configuration process, to ensure you take notice of the issue.
+You can download and install GNU coreutils to get an 'rm' implementation
+that behaves properly: <http://www.gnu.org/software/coreutils/>.
-# PKG_INSTALLDIR(DIRECTORY)
-# -------------------------
-# Substitutes the variable pkgconfigdir as the location where a module
-# should install pkg-config .pc files. By default the directory is
-# $libdir/pkgconfig, but the default can be changed by passing
-# DIRECTORY. The user can override through the --with-pkgconfigdir
-# parameter.
-AC_DEFUN([PKG_INSTALLDIR],
-[m4_pushdef([pkg_default], [m4_default([$1], ['${libdir}/pkgconfig'])])
-m4_pushdef([pkg_description],
- [pkg-config installation directory @<:@]pkg_default[@:>@])
-AC_ARG_WITH([pkgconfigdir],
- [AS_HELP_STRING([--with-pkgconfigdir], pkg_description)],,
- [with_pkgconfigdir=]pkg_default)
-AC_SUBST([pkgconfigdir], [$with_pkgconfigdir])
-m4_popdef([pkg_default])
-m4_popdef([pkg_description])
-]) dnl PKG_INSTALLDIR
+If you want to complete the configuration process using your problematic
+'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
+to "yes", and re-run configure.
+END
+ AC_MSG_ERROR([Your 'rm' program is bad, sorry.])
+ fi
+fi
+])
-# PKG_NOARCH_INSTALLDIR(DIRECTORY)
-# -------------------------
-# Substitutes the variable noarch_pkgconfigdir as the location where a
-# module should install arch-independent pkg-config .pc files. By
-# default the directory is $datadir/pkgconfig, but the default can be
-# changed by passing DIRECTORY. The user can override through the
-# --with-noarch-pkgconfigdir parameter.
-AC_DEFUN([PKG_NOARCH_INSTALLDIR],
-[m4_pushdef([pkg_default], [m4_default([$1], ['${datadir}/pkgconfig'])])
-m4_pushdef([pkg_description],
- [pkg-config arch-independent installation directory @<:@]pkg_default[@:>@])
-AC_ARG_WITH([noarch-pkgconfigdir],
- [AS_HELP_STRING([--with-noarch-pkgconfigdir], pkg_description)],,
- [with_noarch_pkgconfigdir=]pkg_default)
-AC_SUBST([noarch_pkgconfigdir], [$with_noarch_pkgconfigdir])
-m4_popdef([pkg_default])
-m4_popdef([pkg_description])
-]) dnl PKG_NOARCH_INSTALLDIR
+dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion. Do not
+dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
+dnl mangled by Autoconf and run in a shell conditional statement.
+m4_define([_AC_COMPILER_EXEEXT],
+m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])])
+# When config.status generates a header, we must update the stamp-h file.
+# This file resides in the same directory as the config header
+# that is generated. The stamp files are numbered to have different names.
-# PKG_CHECK_VAR(VARIABLE, MODULE, CONFIG-VARIABLE,
-# [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
-# -------------------------------------------
-# Retrieves the value of the pkg-config variable for the given module.
-AC_DEFUN([PKG_CHECK_VAR],
-[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
-AC_ARG_VAR([$1], [value of $3 for $2, overriding pkg-config])dnl
+# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
+# loop where config.status creates the headers, so we can generate
+# our stamp files there.
+AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
+[# Compute $1's index in $config_headers.
+_am_arg=$1
+_am_stamp_count=1
+for _am_header in $config_headers :; do
+ case $_am_header in
+ $_am_arg | $_am_arg:* )
+ break ;;
+ * )
+ _am_stamp_count=`expr $_am_stamp_count + 1` ;;
+ esac
+done
+echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
-_PKG_CONFIG([$1], [variable="][$3]["], [$2])
-AS_VAR_COPY([$1], [pkg_cv_][$1])
+# Copyright (C) 2001-2013 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
-AS_VAR_IF([$1], [""], [$5], [$4])dnl
-])# PKG_CHECK_VAR
+# AM_PROG_INSTALL_SH
+# ------------------
+# Define $install_sh.
+AC_DEFUN([AM_PROG_INSTALL_SH],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+if test x"${install_sh}" != xset; then
+ case $am_aux_dir in
+ *\ * | *\ *)
+ install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
+ *)
+ install_sh="\${SHELL} $am_aux_dir/install-sh"
+ esac
+fi
+AC_SUBST([install_sh])])
+# Copyright (C) 2003-2013 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
-#serial 20090814
+# Check whether the underlying file-system supports filenames
+# with a leading dot. For instance MS-DOS doesn't.
+AC_DEFUN([AM_SET_LEADING_DOT],
+[rm -rf .tst 2>/dev/null
+mkdir .tst 2>/dev/null
+if test -d .tst; then
+ am__leading_dot=.
+else
+ am__leading_dot=_
+fi
+rmdir .tst 2>/dev/null
+AC_SUBST([am__leading_dot])])
-AC_DEFUN([_MM_PRE_INIT], [m4_pattern_forbid([^_?MM_])])
+# Add --enable-maintainer-mode option to configure. -*- Autoconf -*-
+# From Jim Meyering
-m4_define([_MM_PREREQ],
-[dnl
-m4_if(m4_quote(m4_version_compare([$2], [$3])), [-1],
- [m4_fatal([$4 requires $1 $3 (version $2 is installed)])])[]dnl
-])
+# Copyright (C) 1996-2013 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
-AC_DEFUN([MM_PREREQ],
-[dnl
-m4_assert([$# >= 1])[]dnl
-AC_REQUIRE([_MM_PRE_INIT])[]dnl
-_MM_PREREQ([mm-common], [0.9.7], [$1], m4_defn([AC_PACKAGE_NAME]))[]dnl
-])
+# AM_MAINTAINER_MODE([DEFAULT-MODE])
+# ----------------------------------
+# Control maintainer-specific portions of Makefiles.
+# Default is to disable them, unless 'enable' is passed literally.
+# For symmetry, 'disable' may be passed as well. Anyway, the user
+# can override the default with the --enable/--disable switch.
+AC_DEFUN([AM_MAINTAINER_MODE],
+[m4_case(m4_default([$1], [disable]),
+ [enable], [m4_define([am_maintainer_other], [disable])],
+ [disable], [m4_define([am_maintainer_other], [enable])],
+ [m4_define([am_maintainer_other], [enable])
+ m4_warn([syntax], [unexpected argument to AM@&t@_MAINTAINER_MODE: $1])])
+AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
+ dnl maintainer-mode's default is 'disable' unless 'enable' is passed
+ AC_ARG_ENABLE([maintainer-mode],
+ [AS_HELP_STRING([--]am_maintainer_other[-maintainer-mode],
+ am_maintainer_other[ make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer])],
+ [USE_MAINTAINER_MODE=$enableval],
+ [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes]))
+ AC_MSG_RESULT([$USE_MAINTAINER_MODE])
+ AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes])
+ MAINT=$MAINTAINER_MODE_TRUE
+ AC_SUBST([MAINT])dnl
+]
+)
+# Check to see how 'make' treats includes. -*- Autoconf -*-
-#serial 20091224
+# Copyright (C) 2001-2013 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
-m4_define([_MM_PROG_GCC_VISIBILITY_CHECK],
-[dnl
-AC_PROVIDE([$0])[]dnl
-AC_CACHE_CHECK([for GCC symbol visibility options],
- [mm_cv_gcc_visibility_cxxflags],
-[dnl
-mm_save_CXXFLAGS=$CXXFLAGS
-CXXFLAGS="$CXXFLAGS -fvisibility=hidden -fvisibility-inlines-hidden"
-dnl
-AC_LINK_IFELSE([AC_LANG_PROGRAM([[
-#pragma GCC visibility push(default)
-namespace Mm { void __attribute__((__visibility__("hidden"))) mmfunc(); }
-void Mm::mmfunc() {}
-#pragma GCC visibility pop
-]], [[Mm::mmfunc();]])],
-[mm_cv_gcc_visibility_cxxflags='-fvisibility=hidden -fvisibility-inlines-hidden'],
-[mm_cv_gcc_visibility_cxxflags=none])
-dnl
-CXXFLAGS=$mm_save_CXXFLAGS])[]dnl
+# AM_MAKE_INCLUDE()
+# -----------------
+# Check to see how make treats includes.
+AC_DEFUN([AM_MAKE_INCLUDE],
+[am_make=${MAKE-make}
+cat > confinc << 'END'
+am__doit:
+ @echo this is the am__doit target
+.PHONY: am__doit
+END
+# If we don't find an include directive, just comment out the code.
+AC_MSG_CHECKING([for style of include used by $am_make])
+am__include="#"
+am__quote=
+_am_result=none
+# First try GNU make style include.
+echo "include confinc" > confmf
+# Ignore all kinds of additional output from 'make'.
+case `$am_make -s -f confmf 2> /dev/null` in #(
+*the\ am__doit\ target*)
+ am__include=include
+ am__quote=
+ _am_result=GNU
+ ;;
+esac
+# Now try BSD make style include.
+if test "$am__include" = "#"; then
+ echo '.include "confinc"' > confmf
+ case `$am_make -s -f confmf 2> /dev/null` in #(
+ *the\ am__doit\ target*)
+ am__include=.include
+ am__quote="\""
+ _am_result=BSD
+ ;;
+ esac
+fi
+AC_SUBST([am__include])
+AC_SUBST([am__quote])
+AC_MSG_RESULT([$_am_result])
+rm -f confinc confmf
])
-AC_DEFUN([MM_PROG_GCC_VISIBILITY],
-[dnl
-m4_assert([$# >= 1])[]dnl
-AC_LANG_ASSERT([C++])[]dnl
-AC_REQUIRE([_MM_PRE_INIT])[]dnl
-AC_REQUIRE([_MM_PROG_GCC_VISIBILITY_CHECK])[]dnl
-AS_IF([test "x$mm_cv_gcc_visibility_cxxflags" != xnone],
- [$1=$mm_cv_gcc_visibility_cxxflags], [$1=])
-AC_SUBST([$1])[]dnl
-])
+# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
-m4_define([_MM_ARG_DISABLE_DEPRECATED_API_OPTION],
-[dnl
-AC_PROVIDE([$0])[]dnl
-AC_ARG_ENABLE([deprecated-api],
- [AS_HELP_STRING([--disable-deprecated-api],
- [omit deprecated API from the library])],
- [mm_enable_deprecated_api=$enableval],
- [mm_enable_deprecated_api=yes])[]dnl
-AS_IF([test "x$mm_enable_deprecated_api" = xno],
- [AC_MSG_WARN([[Deprecated API will not be built, breaking compatibility.
-Do not use this option for distribution packages.]])],
- [AC_MSG_NOTICE([[Deprecated API will be built, for backwards-compatibility.]])])
-AM_CONDITIONAL([DISABLE_DEPRECATED_API], [test "x$mm_enable_deprecated_api" = xno])[]dnl
-])
+# Copyright (C) 1997-2013 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
-m4_define([_MM_ARG_DISABLE_DEPRECATED_API_DEFINE],
-[m4_foreach_w([mm_prefix], [$1],
-[AC_DEFINE(m4_defn([mm_prefix])[_DISABLE_DEPRECATED], [1],
- [Define to omit deprecated API from the library.])
-])])
+# AM_MISSING_PROG(NAME, PROGRAM)
+# ------------------------------
+AC_DEFUN([AM_MISSING_PROG],
+[AC_REQUIRE([AM_MISSING_HAS_RUN])
+$1=${$1-"${am_missing_run}$2"}
+AC_SUBST($1)])
-AC_DEFUN([MM_ARG_DISABLE_DEPRECATED_API],
-[dnl
-AC_REQUIRE([_MM_PRE_INIT])[]dnl
-AC_REQUIRE([_MM_ARG_DISABLE_DEPRECATED_API_OPTION])[]dnl
-AS_IF([test "x$mm_enable_deprecated_api" = xno],
- [_MM_ARG_DISABLE_DEPRECATED_API_DEFINE(
- m4_ifval([$1], [[$1]], [AS_TR_CPP(m4_defn([AC_PACKAGE_TARNAME]))]))])[]dnl
+# AM_MISSING_HAS_RUN
+# ------------------
+# Define MISSING if not defined so far and test if it is modern enough.
+# If it is, set am_missing_run to use it, otherwise, to nothing.
+AC_DEFUN([AM_MISSING_HAS_RUN],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+AC_REQUIRE_AUX_FILE([missing])dnl
+if test x"${MISSING+set}" != xset; then
+ case $am_aux_dir in
+ *\ * | *\ *)
+ MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
+ *)
+ MISSING="\${SHELL} $am_aux_dir/missing" ;;
+ esac
+fi
+# Use eval to expand $SHELL
+if eval "$MISSING --is-lightweight"; then
+ am_missing_run="$MISSING "
+else
+ am_missing_run=
+ AC_MSG_WARN(['missing' script is too old or missing])
+fi
])
+# Helper functions for option handling. -*- Autoconf -*-
-#serial 20110327
-
-m4_define([_MM_CONFIG_DOCTOOL_DIR],
-[dnl
-AC_PROVIDE([$0])[]dnl
-AC_REQUIRE([PKG_PROG_PKG_CONFIG])[]dnl
-dnl
-AC_MSG_CHECKING([location of documentation utilities])
-AS_IF([test "x$MMDOCTOOLDIR" = x],
-[
- MMDOCTOOLDIR=`$PKG_CONFIG --variable=doctooldir mm-common-util 2>&AS_MESSAGE_LOG_FD`
- AS_IF([test "[$]?" -ne 0],
- [AC_MSG_ERROR([[not found
-The required module mm-common-util could not be found on this system. If you
-are running a binary distribution and the mm-common package is installed,
-make sure that any separate development package for mm-common is installed
-as well. If you built mm-common yourself, it may be necessary to adjust
-the PKG_CONFIG_PATH environment variable for pkg-config to find it.
-]])])
-])
-AC_MSG_RESULT([$MMDOCTOOLDIR])[]dnl
-])
+# Copyright (C) 2001-2013 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
-AC_DEFUN([MM_CONFIG_DOCTOOL_DIR],
-[dnl
-AC_REQUIRE([_MM_PRE_INIT])[]dnl
-AC_REQUIRE([MM_CHECK_GNU_MAKE])[]dnl
-m4_ifval([$1], [MMDOCTOOLDIR='[$]{top_srcdir}/$1'], [AC_REQUIRE([_MM_CONFIG_DOCTOOL_DIR])])
-AM_CONDITIONAL([DIST_DOCTOOLS], [test 'x$1' != 'x'])dnl
-AC_SUBST([MMDOCTOOLDIR])[]dnl
-])
+# _AM_MANGLE_OPTION(NAME)
+# -----------------------
+AC_DEFUN([_AM_MANGLE_OPTION],
+[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
-m4_define([_MM_ARG_ENABLE_DOCUMENTATION],
-[dnl
-AC_PROVIDE([$0])[]dnl
-dnl
-AC_ARG_VAR([DOT], [path to dot utility])[]dnl
-AC_ARG_VAR([DOXYGEN], [path to Doxygen utility])[]dnl
-AC_ARG_VAR([XSLTPROC], [path to xsltproc utility])[]dnl
-dnl
-AC_PATH_PROG([DOT], [dot], [dot])
-AC_PATH_PROG([DOXYGEN], [doxygen], [doxygen])
-AC_PATH_PROG([XSLTPROC], [xsltproc], [xsltproc])
-dnl
-AC_ARG_ENABLE([documentation],
- [AS_HELP_STRING([--disable-documentation],
- [do not build or install the documentation])],
- [ENABLE_DOCUMENTATION=$enableval],
- [ENABLE_DOCUMENTATION=auto])
-AS_IF([test "x$ENABLE_DOCUMENTATION" != xno],
-[
- mm_err=
- AS_IF([test "x$MMDOCTOOLDIR" = x], [mm_err='dnl
-The mm-common-util module is available, but the installation of mm-common on this
-machine is missing the shared documentation utilities of the GNOME C++
-bindings. It may be necessary to upgrade to a more recent release of
-mm-common in order to build '$PACKAGE_NAME' and install the documentation.'],
- [test "x$PERL" = xperl], [mm_err='Perl is required for installing the documentation.'],
- [test "x$USE_MAINTAINER_MODE" != xno],
- [
- test "x$DOT" != xdot || mm_err=' dot'
- test "x$DOXYGEN" != xdoxygen || mm_err="$mm_err doxygen"
- test "x$XSLTPROC" != xxsltproc || mm_err="$mm_err xsltproc"
- test -z "$mm_err" || mm_err='The documentation cannot be generated because
-not all of the required tools are available:'$mm_err
- ])
- AS_IF([test -z "$mm_err"], [ENABLE_DOCUMENTATION=yes],
- [test "x$ENABLE_DOCUMENTATION" = xyes], [AC_MSG_FAILURE([[$mm_err]])],
- [ENABLE_DOCUMENTATION=no; AC_MSG_WARN([[$mm_err]])])
-])
-AM_CONDITIONAL([ENABLE_DOCUMENTATION], [test "x$ENABLE_DOCUMENTATION" = xyes])
-AC_SUBST([DOXYGEN_TAGFILES], [[]])
-AC_SUBST([DOCINSTALL_FLAGS], [[]])[]dnl
-])
+# _AM_SET_OPTION(NAME)
+# --------------------
+# Set option NAME. Presently that only means defining a flag for this option.
+AC_DEFUN([_AM_SET_OPTION],
+[m4_define(_AM_MANGLE_OPTION([$1]), [1])])
-AC_DEFUN([MM_ARG_ENABLE_DOCUMENTATION],
-[dnl
-AC_BEFORE([$0], [MM_ARG_WITH_TAGFILE_DOC])[]dnl
-AC_REQUIRE([_MM_PRE_INIT])[]dnl
-AC_REQUIRE([MM_CONFIG_DOCTOOL_DIR])[]dnl
-AC_REQUIRE([MM_PATH_PERL])[]dnl
-AC_REQUIRE([_MM_ARG_ENABLE_DOCUMENTATION])[]dnl
-])
+# _AM_SET_OPTIONS(OPTIONS)
+# ------------------------
+# OPTIONS is a space-separated list of Automake options.
+AC_DEFUN([_AM_SET_OPTIONS],
+[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
-m4_define([_MM_TR_URI],
-[dnl
-[`expr "X$1" : 'X\(.*[^\\/]\)[\\/]*' 2>&]AS_MESSAGE_LOG_FD[ |]dnl
-[ sed 's|[\\]|/|g;s| |%20|g;s|^/|file:///|;s|^.:/|file:///&|' 2>&]AS_MESSAGE_LOG_FD[`]dnl
-])
+# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
+# -------------------------------------------
+# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
+AC_DEFUN([_AM_IF_OPTION],
+[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
-m4_define([_MM_ARG_WITH_TAGFILE_DOC],
-[dnl
- AC_MSG_CHECKING([for $1 documentation])
- AC_ARG_WITH([$1-doc],
- [AS_HELP_STRING([[--with-$1-doc=[TAGFILE@]HTMLREFDIR]],
- [Link to external $1 documentation]m4_ifval([$4], [[ [auto]]]))],
- [
- mm_htmlrefdir=`[expr "X@$withval" : '.*@\(.*\)' 2>&]AS_MESSAGE_LOG_FD`
- mm_tagname=`[expr "X/$withval" : '[^@]*[\\/]\([^\\/@]*\)@' 2>&]AS_MESSAGE_LOG_FD`
- mm_tagpath=`[expr "X$withval" : 'X\([^@]*\)@' 2>&]AS_MESSAGE_LOG_FD`
- test "x$mm_tagname" != x || mm_tagname="$3"
- test "x$mm_tagpath" != x || mm_tagpath=$mm_tagname[]dnl
- ], [
- mm_htmlrefdir=
- mm_tagname="$3"
- mm_tagpath=$mm_tagname[]dnl
- ])
- # Prepend working direcory if the tag file path starts with ./ or ../
- AS_CASE([$mm_tagpath], [[.[\\/]*|..[\\/]*]], [mm_tagpath=`pwd`/$mm_tagpath])
+# Copyright (C) 1999-2013 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
-m4_ifval([$4], [dnl
- # If no local directory was specified, get the default from the .pc file
- AS_IF([test "x$mm_htmlrefdir" = x],
- [
- mm_htmlrefdir=`$PKG_CONFIG --variable=htmlrefdir "$4" 2>&AS_MESSAGE_LOG_FD`dnl
- ])
- # If the user specified a Web URL, allow it to override the public location
- AS_CASE([$mm_htmlrefdir], [[http://*|https://*]], [mm_htmlrefpub=$mm_htmlrefdir],
- [
- mm_htmlrefpub=`$PKG_CONFIG --variable=htmlrefpub "$4" 2>&AS_MESSAGE_LOG_FD`
- test "x$mm_htmlrefpub" != x || mm_htmlrefpub=$mm_htmlrefdir
- test "x$mm_htmlrefdir" != x || mm_htmlrefdir=$mm_htmlrefpub
- ])
- # The user-supplied tag-file name takes precedence if it includes the path
- AS_CASE([$mm_tagpath], [[*[\\/]*]],,
- [
- mm_doxytagfile=`$PKG_CONFIG --variable=doxytagfile "$4" 2>&AS_MESSAGE_LOG_FD`
- test "x$mm_doxytagfile" = x || mm_tagpath=$mm_doxytagfile
- ])
- # Remove trailing slashes and translate to URI
- mm_htmlrefpub=_MM_TR_URI([$mm_htmlrefpub])
-])[]dnl
- mm_htmlrefdir=_MM_TR_URI([$mm_htmlrefdir])
+# _AM_PROG_CC_C_O
+# ---------------
+# Like AC_PROG_CC_C_O, but changed for automake. We rewrite AC_PROG_CC
+# to automatically call this.
+AC_DEFUN([_AM_PROG_CC_C_O],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+AC_REQUIRE_AUX_FILE([compile])dnl
+AC_LANG_PUSH([C])dnl
+AC_CACHE_CHECK(
+ [whether $CC understands -c and -o together],
+ [am_cv_prog_cc_c_o],
+ [AC_LANG_CONFTEST([AC_LANG_PROGRAM([])])
+ # Make sure it works both with $CC and with simple cc.
+ # Following AC_PROG_CC_C_O, we do the test twice because some
+ # compilers refuse to overwrite an existing .o file with -o,
+ # though they will create one.
+ am_cv_prog_cc_c_o=yes
+ for am_i in 1 2; do
+ if AM_RUN_LOG([$CC -c conftest.$ac_ext -o conftest2.$ac_objext]) \
+ && test -f conftest2.$ac_objext; then
+ : OK
+ else
+ am_cv_prog_cc_c_o=no
+ break
+ fi
+ done
+ rm -f core conftest*
+ unset am_i])
+if test "$am_cv_prog_cc_c_o" != yes; then
+ # Losing compiler, so override with the script.
+ # FIXME: It is wrong to rewrite CC.
+ # But if we don't then we get into trouble of one sort or another.
+ # A longer-term fix would be to have automake use am__CC in this case,
+ # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
+ CC="$am_aux_dir/compile $CC"
+fi
+AC_LANG_POP([C])])
- AC_MSG_RESULT([$mm_tagpath@$mm_htmlrefdir])
+# For backward compatibility.
+AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])])
- AS_IF([test "x$USE_MAINTAINER_MODE" != xno && test ! -f "$mm_tagpath"],
- [AC_MSG_WARN([Doxygen tag file $3 not found])])
- AS_IF([test "x$mm_htmlrefdir" = x],
- [AC_MSG_WARN([Location of external $1 documentation not set])],
- [AS_IF([test "x$DOCINSTALL_FLAGS" = x],
- [DOCINSTALL_FLAGS="-l '$mm_tagname@$mm_htmlrefdir/'"],
- [DOCINSTALL_FLAGS="$DOCINSTALL_FLAGS -l '$mm_tagname@$mm_htmlrefdir/'"])])
+# Copyright (C) 2001-2013 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
- AS_IF([test "x$mm_$2" = x], [mm_val=$mm_tagpath], [mm_val="$mm_tagpath=$mm_$2"])
- AS_IF([test "x$DOXYGEN_TAGFILES" = x],
- [DOXYGEN_TAGFILES=[\]"$mm_val[\]"],
- [DOXYGEN_TAGFILES="$DOXYGEN_TAGFILES "[\]"$mm_val[\]"])[]dnl
-])
+# AM_RUN_LOG(COMMAND)
+# -------------------
+# Run COMMAND, save the exit status in ac_status, and log it.
+# (This has been adapted from Autoconf's _AC_RUN_LOG macro.)
+AC_DEFUN([AM_RUN_LOG],
+[{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD
+ ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
+ (exit $ac_status); }])
-AC_DEFUN([MM_ARG_WITH_TAGFILE_DOC],
-[dnl
-m4_assert([$# >= 1])[]dnl
-m4_ifval([$2], [AC_REQUIRE([PKG_PROG_PKG_CONFIG])])[]dnl
-AC_REQUIRE([MM_CONFIG_DOCTOOL_DIR])[]dnl
-AC_REQUIRE([_MM_ARG_ENABLE_DOCUMENTATION])[]dnl
-dnl
-AS_IF([test "x$ENABLE_DOCUMENTATION" != xno],
- [_MM_ARG_WITH_TAGFILE_DOC(m4_quote(m4_bpatsubst([$1], [[+]*\([-+][0123456789]\|[._]\).*$])),
- [htmlref]m4_ifval([$2], [[pub]], [[dir]]), [$1], [$2])])[]dnl
-])
+# Check to make sure that the build environment is sane. -*- Autoconf -*-
+# Copyright (C) 1996-2013 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
-#serial 20091228
+# AM_SANITY_CHECK
+# ---------------
+AC_DEFUN([AM_SANITY_CHECK],
+[AC_MSG_CHECKING([whether build environment is sane])
+# Reject unsafe characters in $srcdir or the absolute working directory
+# name. Accept space and tab only in the latter.
+am_lf='
+'
+case `pwd` in
+ *[[\\\"\#\$\&\'\`$am_lf]]*)
+ AC_MSG_ERROR([unsafe absolute working directory name]);;
+esac
+case $srcdir in
+ *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*)
+ AC_MSG_ERROR([unsafe srcdir value: '$srcdir']);;
+esac
-m4_define([_MM_INIT_MODULE_VERSION],
-[dnl
-m4_ifval([$3],
-[AC_SUBST([$2][_MAJOR_VERSION], [$3])
-AC_DEFINE([$2][_MAJOR_VERSION], [$3], [Major version number of $1.])
-])[]dnl
-m4_ifval([$4],
-[AC_SUBST([$2][_MINOR_VERSION], [$4])
-AC_DEFINE([$2][_MINOR_VERSION], [$4], [Minor version number of $1.])
-])[]dnl
-m4_ifval([$5],
-[AC_SUBST([$2][_MICRO_VERSION], [$5])
-AC_DEFINE([$2][_MICRO_VERSION], [$5], [Micro version number of $1.])
-])[]dnl
-])
+# Do 'set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ am_has_slept=no
+ for am_try in 1 2; do
+ echo "timestamp, slept: $am_has_slept" > conftest.file
+ set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
+ if test "$[*]" = "X"; then
+ # -L didn't work.
+ set X `ls -t "$srcdir/configure" conftest.file`
+ fi
+ if test "$[*]" != "X $srcdir/configure conftest.file" \
+ && test "$[*]" != "X conftest.file $srcdir/configure"; then
-m4_define([_MM_INIT_MODULE_SUBST],
-[dnl
-AC_SUBST([$5][_MODULE_NAME], ['$1'])
-AC_SUBST([$5][_VERSION], ['$2'])
-m4_ifval([$4],
-[AC_SUBST([$5][_API_VERSION], ['$4'])
-])[]dnl
-_MM_INIT_MODULE_VERSION([$3], [$5], m4_bpatsubst([$2], [[^0123456789]+], [,]))[]dnl
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
+ alias in your environment])
+ fi
+ if test "$[2]" = conftest.file || test $am_try -eq 2; then
+ break
+ fi
+ # Just in case.
+ sleep 1
+ am_has_slept=yes
+ done
+ test "$[2]" = conftest.file
+ )
+then
+ # Ok.
+ :
+else
+ AC_MSG_ERROR([newly created file is older than distributed files!
+Check your system clock])
+fi
+AC_MSG_RESULT([yes])
+# If we didn't sleep, we still need to ensure time stamps of config.status and
+# generated files are strictly newer.
+am_sleep_pid=
+if grep 'slept: no' conftest.file >/dev/null 2>&1; then
+ ( sleep 1 ) &
+ am_sleep_pid=$!
+fi
+AC_CONFIG_COMMANDS_PRE(
+ [AC_MSG_CHECKING([that generated files are newer than configure])
+ if test -n "$am_sleep_pid"; then
+ # Hide warnings about reused PIDs.
+ wait $am_sleep_pid 2>/dev/null
+ fi
+ AC_MSG_RESULT([done])])
+rm -f conftest.file
])
-m4_define([_MM_INIT_MODULE_BASENAME],
- [_MM_INIT_MODULE_SUBST([$1], [$2], [$3], [$4],
- m4_quote(AS_TR_CPP(m4_quote(m4_translit([$3], [+], [X])))))])
+# Copyright (C) 2009-2013 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
-AC_DEFUN([MM_INIT_MODULE],
-[dnl
-m4_assert([$# >= 1])[]dnl
-AC_REQUIRE([_MM_PRE_INIT])[]dnl
-AC_REQUIRE([MM_CHECK_GNU_MAKE])[]dnl
-_MM_INIT_MODULE_BASENAME([$1],
- m4_quote(m4_ifval([$2], [$2], m4_defn([AC_PACKAGE_VERSION]))),
- m4_quote(m4_bpatsubst([$1], [[-.0123456789]+$])),
- m4_quote(m4_bregexp([$1], [-?\([.0123456789]+\)$], [\1])))[]dnl
+# AM_SILENT_RULES([DEFAULT])
+# --------------------------
+# Enable less verbose build rules; with the default set to DEFAULT
+# ("yes" being less verbose, "no" or empty being verbose).
+AC_DEFUN([AM_SILENT_RULES],
+[AC_ARG_ENABLE([silent-rules], [dnl
+AS_HELP_STRING(
+ [--enable-silent-rules],
+ [less verbose build output (undo: "make V=1")])
+AS_HELP_STRING(
+ [--disable-silent-rules],
+ [verbose build output (undo: "make V=0")])dnl
+])
+case $enable_silent_rules in @%:@ (((
+ yes) AM_DEFAULT_VERBOSITY=0;;
+ no) AM_DEFAULT_VERBOSITY=1;;
+ *) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);;
+esac
+dnl
+dnl A few 'make' implementations (e.g., NonStop OS and NextStep)
+dnl do not support nested variable expansions.
+dnl See automake bug#9928 and bug#10237.
+am_make=${MAKE-make}
+AC_CACHE_CHECK([whether $am_make supports nested variables],
+ [am_cv_make_support_nested_variables],
+ [if AS_ECHO([['TRUE=$(BAR$(V))
+BAR0=false
+BAR1=true
+V=1
+am__doit:
+ @$(TRUE)
+.PHONY: am__doit']]) | $am_make -f - >/dev/null 2>&1; then
+ am_cv_make_support_nested_variables=yes
+else
+ am_cv_make_support_nested_variables=no
+fi])
+if test $am_cv_make_support_nested_variables = yes; then
+ dnl Using '$V' instead of '$(V)' breaks IRIX make.
+ AM_V='$(V)'
+ AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
+else
+ AM_V=$AM_DEFAULT_VERBOSITY
+ AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
+fi
+AC_SUBST([AM_V])dnl
+AM_SUBST_NOTMAKE([AM_V])dnl
+AC_SUBST([AM_DEFAULT_V])dnl
+AM_SUBST_NOTMAKE([AM_DEFAULT_V])dnl
+AC_SUBST([AM_DEFAULT_VERBOSITY])dnl
+AM_BACKSLASH='\'
+AC_SUBST([AM_BACKSLASH])dnl
+_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
])
+# Copyright (C) 2001-2013 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_PROG_INSTALL_STRIP
+# ---------------------
+# One issue with vendor 'install' (even GNU) is that you can't
+# specify the program used to strip binaries. This is especially
+# annoying in cross-compiling environments, where the build's strip
+# is unlikely to handle the host's binaries.
+# Fortunately install-sh will honor a STRIPPROG variable, so we
+# always use install-sh in "make install-strip", and initialize
+# STRIPPROG with the value of the STRIP variable (set by the user).
+AC_DEFUN([AM_PROG_INSTALL_STRIP],
+[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
+# Installed binaries are usually stripped using 'strip' when the user
+# run "make install-strip". However 'strip' might not be the right
+# tool to use in cross-compilation environments, therefore Automake
+# will honor the 'STRIP' environment variable to overrule this program.
+dnl Don't test for $cross_compiling = yes, because it might be 'maybe'.
+if test "$cross_compiling" != no; then
+ AC_CHECK_TOOL([STRIP], [strip], :)
+fi
+INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
+AC_SUBST([INSTALL_STRIP_PROGRAM])])
+
+# Copyright (C) 2006-2013 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# _AM_SUBST_NOTMAKE(VARIABLE)
+# ---------------------------
+# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
+# This macro is traced by Automake.
+AC_DEFUN([_AM_SUBST_NOTMAKE])
-#serial 20090822
+# AM_SUBST_NOTMAKE(VARIABLE)
+# --------------------------
+# Public sister of _AM_SUBST_NOTMAKE.
+AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
-m4_define([_MM_CHECK_GNU_MAKE],
-[dnl
-AC_PROVIDE([$0])[]dnl
-AC_MSG_CHECKING([whether [$]{MAKE-make} supports GNU make features])
-cat >conftest.make <<'_MMEOF'
-override reverse = [$](2)[$](subst ,, )[$](1)
-override result := [$](word 2,[$](call reverse,success,failure))
-all: ; test '[$](result)' = success
-.PHONY: all
-_MMEOF
-AS_IF([[$]{MAKE-make} -f conftest.make >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD],
- [mm_gnu_make=yes], [mm_gnu_make=no])
-rm -f conftest.make
-AC_MSG_RESULT([$mm_gnu_make])
-AS_IF([test "x$mm_gnu_make" != xyes],
- [AC_MSG_FAILURE([[The GNU make program is required to build $PACKAGE_NAME.]])])[]dnl
-])
+# Check how to create a tarball. -*- Autoconf -*-
-AC_DEFUN([MM_CHECK_GNU_MAKE],
-[dnl
-AC_REQUIRE([_MM_PRE_INIT])[]dnl
-AC_REQUIRE([_MM_CHECK_GNU_MAKE])[]dnl
-])
+# Copyright (C) 2004-2013 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
-m4_define([_MM_PATH_PERL],
-[dnl
-AC_PROVIDE([$0])[]dnl
-AC_ARG_VAR([PERL], [path to Perl interpreter])[]dnl
-AC_PATH_PROG([PERL], [perl], [perl])[]dnl
-])
+# _AM_PROG_TAR(FORMAT)
+# --------------------
+# Check how to create a tarball in format FORMAT.
+# FORMAT should be one of 'v7', 'ustar', or 'pax'.
+#
+# Substitute a variable $(am__tar) that is a command
+# writing to stdout a FORMAT-tarball containing the directory
+# $tardir.
+# tardir=directory && $(am__tar) > result.tar
+#
+# Substitute a variable $(am__untar) that extract such
+# a tarball read from stdin.
+# $(am__untar) < result.tar
+#
+AC_DEFUN([_AM_PROG_TAR],
+[# Always define AMTAR for backward compatibility. Yes, it's still used
+# in the wild :-( We should find a proper way to deprecate it ...
+AC_SUBST([AMTAR], ['$${TAR-tar}'])
-AC_DEFUN([MM_PATH_PERL],
-[dnl
-AC_REQUIRE([_MM_PRE_INIT])[]dnl
-AC_REQUIRE([_MM_PATH_PERL])[]dnl
-])
+# We'll loop over all known methods to create a tar archive until one works.
+_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
-m4_define([_MM_CHECK_PERL],
-[dnl
-AS_IF([$PERL -e "require v$1; exit 0;" >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD],
- [$2], m4_ifval([$2$3], [[$3]],
- [[AC_MSG_FAILURE([[At least Perl ]$1[ is required to build $PACKAGE_NAME.]])]]))[]dnl
-])
+m4_if([$1], [v7],
+ [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'],
-AC_DEFUN([MM_CHECK_PERL],
-[dnl
-AC_REQUIRE([_MM_PRE_INIT])[]dnl
-AC_REQUIRE([_MM_PATH_PERL])[]dnl
-_MM_CHECK_PERL(m4_ifval([$1], [[$1]], [[5.6.0]]), [$2], [$3])[]dnl
-])
+ [m4_case([$1],
+ [ustar],
+ [# The POSIX 1988 'ustar' format is defined with fixed-size fields.
+ # There is notably a 21 bits limit for the UID and the GID. In fact,
+ # the 'pax' utility can hang on bigger UID/GID (see automake bug#8343
+ # and bug#13588).
+ am_max_uid=2097151 # 2^21 - 1
+ am_max_gid=$am_max_uid
+ # The $UID and $GID variables are not portable, so we need to resort
+ # to the POSIX-mandated id(1) utility. Errors in the 'id' calls
+ # below are definitely unexpected, so allow the users to see them
+ # (that is, avoid stderr redirection).
+ am_uid=`id -u || echo unknown`
+ am_gid=`id -g || echo unknown`
+ AC_MSG_CHECKING([whether UID '$am_uid' is supported by ustar format])
+ if test $am_uid -le $am_max_uid; then
+ AC_MSG_RESULT([yes])
+ else
+ AC_MSG_RESULT([no])
+ _am_tools=none
+ fi
+ AC_MSG_CHECKING([whether GID '$am_gid' is supported by ustar format])
+ if test $am_gid -le $am_max_gid; then
+ AC_MSG_RESULT([yes])
+ else
+ AC_MSG_RESULT([no])
+ _am_tools=none
+ fi],
-AC_DEFUN([MM_PKG_CONFIG_SUBST],
-[dnl
-m4_assert([$# >= 2])[]dnl
-AC_REQUIRE([_MM_PRE_INIT])[]dnl
-AC_REQUIRE([PKG_PROG_PKG_CONFIG])[]dnl
-AC_MSG_CHECKING([for $1])
-dnl
-AS_IF([test -z "[$]{$1+set}"],
- [$1=`$PKG_CONFIG $2 2>&AS_MESSAGE_LOG_FD`
- AS_IF([test "[$]?" -eq 0], [$3], [$4])])
-dnl
-AC_MSG_RESULT([[$]$1])
-AC_SUBST([$1])[]dnl
-])
+ [pax],
+ [],
+ [m4_fatal([Unknown tar format])])
-#serial 20091103
+ AC_MSG_CHECKING([how to create a $1 tar archive])
-m4_define([_MM_ARG_ENABLE_WARNINGS_OPTION],
-[dnl
-AC_PROVIDE([$0])[]dnl
-AC_ARG_ENABLE([warnings],
- [AS_HELP_STRING([[--enable-warnings[=min|max|fatal|no]]],
- [set compiler pedantry level [default=min]])],
- [mm_enable_warnings=$enableval],
- [mm_enable_warnings=min])[]dnl
-])
+ # Go ahead even if we have the value already cached. We do so because we
+ # need to set the values for the 'am__tar' and 'am__untar' variables.
+ _am_tools=${am_cv_prog_tar_$1-$_am_tools}
-AC_DEFUN([MM_ARG_ENABLE_WARNINGS],
-[dnl
-m4_assert([$# >= 3])[]dnl
-AC_REQUIRE([_MM_PRE_INIT])[]dnl
-AC_REQUIRE([_MM_ARG_ENABLE_WARNINGS_OPTION])[]dnl
-dnl
-AS_CASE([$ac_compile],
- [[*'$CXXFLAGS '*]], [mm_lang='C++' mm_cc=$CXX mm_conftest="conftest.[$]{ac_ext-cc}"],
- [[*'$CFLAGS '*]], [mm_lang=C mm_cc=$CC mm_conftest="conftest.[$]{ac_ext-c}"],
- [AC_MSG_ERROR([[current language is neither C nor C++]])])
-dnl
-AC_MSG_CHECKING([which $mm_lang compiler warning flags to use])
-m4_ifval([$4], [mm_deprecation_flags=
-])mm_tested_flags=
-dnl
-AS_CASE([$mm_enable_warnings],
- [no], [mm_warning_flags=],
- [max], [mm_warning_flags="$3"],
- [fatal], [mm_warning_flags="$3 -Werror"[]m4_ifval([$4], [
- for mm_prefix in $4
- do
- mm_deprecation_flags="$mm_deprecation_flags-D[$]{mm_prefix}_DISABLE_DEPRECATED "
- done])],
- [mm_warning_flags="$2"])
-dnl
-AS_IF([test "x$mm_warning_flags" != x],
-[
- # Keep in mind that the dummy source must be devoid of any
- # problems that might cause diagnostics.
- AC_LANG_CONFTEST([AC_LANG_SOURCE([[
-int main(int argc, char** argv) { return (argv != 0) ? argc : 0; }
-]])])
- for mm_flag in $mm_warning_flags
- do
- # Test whether the compiler accepts the flag. Look at standard output,
- # since GCC only shows a warning message if an option is not supported.
- mm_cc_out=`$mm_cc $mm_tested_flags $mm_flag -c "$mm_conftest" 2>&1 || echo failed`
- rm -f "conftest.[$]{OBJEXT-o}"
+ for _am_tool in $_am_tools; do
+ case $_am_tool in
+ gnutar)
+ for _am_tar in tar gnutar gtar; do
+ AM_RUN_LOG([$_am_tar --version]) && break
+ done
+ am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
+ am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
+ am__untar="$_am_tar -xf -"
+ ;;
+ plaintar)
+ # Must skip GNU tar: if it does not support --format= it doesn't create
+ # ustar tarball either.
+ (tar --version) >/dev/null 2>&1 && continue
+ am__tar='tar chf - "$$tardir"'
+ am__tar_='tar chf - "$tardir"'
+ am__untar='tar xf -'
+ ;;
+ pax)
+ am__tar='pax -L -x $1 -w "$$tardir"'
+ am__tar_='pax -L -x $1 -w "$tardir"'
+ am__untar='pax -r'
+ ;;
+ cpio)
+ am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
+ am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
+ am__untar='cpio -i -H $1 -d'
+ ;;
+ none)
+ am__tar=false
+ am__tar_=false
+ am__untar=false
+ ;;
+ esac
- AS_IF([test "x$mm_cc_out" = x],
- [AS_IF([test "x$mm_tested_flags" = x],
- [mm_tested_flags=$mm_flag],
- [mm_tested_flags="$mm_tested_flags $mm_flag"])],
-[cat <<_MMEOF >&AS_MESSAGE_LOG_FD
-$mm_cc: $mm_cc_out
-_MMEOF
-])
+ # If the value was cached, stop now. We just wanted to have am__tar
+ # and am__untar set.
+ test -n "${am_cv_prog_tar_$1}" && break
+
+ # tar/untar a dummy directory, and stop if the command works.
+ rm -rf conftest.dir
+ mkdir conftest.dir
+ echo GrepMe > conftest.dir/file
+ AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
+ rm -rf conftest.dir
+ if test -s conftest.tar; then
+ AM_RUN_LOG([$am__untar <conftest.tar])
+ AM_RUN_LOG([cat conftest.dir/file])
+ grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
+ fi
done
- rm -f "$mm_conftest"
-])
-mm_all_flags=m4_ifval([$4], [$mm_deprecation_flags])$mm_tested_flags
-AC_SUBST([$1], [$mm_all_flags])
-dnl
-test "x$mm_all_flags" != x || mm_all_flags=none
-AC_MSG_RESULT([$mm_all_flags])[]dnl
-])
+ rm -rf conftest.dir
+
+ AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
+ AC_MSG_RESULT([$am_cv_prog_tar_$1])])
+
+AC_SUBST([am__tar])
+AC_SUBST([am__untar])
+]) # _AM_PROG_TAR
m4_include([build/cxx.m4])
m4_include([build/cxx_std.m4])
# compiler: $LTCC
# compiler flags: $LTCFLAGS
# linker: $LD (gnu? $with_gnu_ld)
-# $progname: (GNU libtool) 2.4.2 Debian-2.4.2-1.10ubuntu1
+# $progname: (GNU libtool) 2.4.2 Debian-2.4.2-1.11
# automake: $automake_version
# autoconf: $autoconf_version
#
PROGRAM=libtool
PACKAGE=libtool
-VERSION="2.4.2 Debian-2.4.2-1.10ubuntu1"
+VERSION="2.4.2 Debian-2.4.2-1.11"
TIMESTAMP=""
package_revision=1.3337
/* config.h.in. Generated from configure.ac by autoheader. */
+/* define if the compiler supports basic C++11 syntax */
+#undef HAVE_CXX11
+
/* Define to 1 if you have the <dlfcn.h> header file. */
#undef HAVE_DLFCN_H
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for libsigc++ 2.4.1.
+# Generated by GNU Autoconf 2.69 for libsigc++ 2.5.1.
#
# Report bugs to <http://bugzilla.gnome.org/enter_bug.cgi?product=libsigc%2B%2B>.
#
# Identity of this package.
PACKAGE_NAME='libsigc++'
PACKAGE_TARNAME='libsigc++'
-PACKAGE_VERSION='2.4.1'
-PACKAGE_STRING='libsigc++ 2.4.1'
+PACKAGE_VERSION='2.5.1'
+PACKAGE_STRING='libsigc++ 2.5.1'
PACKAGE_BUGREPORT='http://bugzilla.gnome.org/enter_bug.cgi?product=libsigc%2B%2B'
PACKAGE_URL='http://libsigc.sourceforge.net/'
OBJDUMP
DLLTOOL
AS
+HAVE_CXX11
am__fastdepCXX_FALSE
am__fastdepCXX_TRUE
CXXDEPMODE
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures libsigc++ 2.4.1 to adapt to many kinds of systems.
+\`configure' configures libsigc++ 2.5.1 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of libsigc++ 2.4.1:";;
+ short | recursive ) echo "Configuration of libsigc++ 2.5.1:";;
esac
cat <<\_ACEOF
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-libsigc++ configure 2.4.1
+libsigc++ configure 2.5.1
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by libsigc++ $as_me 2.4.1, which was
+It was created by libsigc++ $as_me 2.5.1, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
# Define the identity of the package.
PACKAGE='libsigc++'
- VERSION='2.4.1'
+ VERSION='2.5.1'
# Some tools Automake needs.
SIGCXX_MODULE_NAME='sigc++-2.0'
-SIGCXX_VERSION='2.4.1'
+SIGCXX_VERSION='2.5.1'
SIGCXX_API_VERSION='2.0'
$as_echo "#define SIGCXX_MAJOR_VERSION 2" >>confdefs.h
-SIGCXX_MINOR_VERSION=4
+SIGCXX_MINOR_VERSION=5
-$as_echo "#define SIGCXX_MINOR_VERSION 4" >>confdefs.h
+$as_echo "#define SIGCXX_MINOR_VERSION 5" >>confdefs.h
SIGCXX_MICRO_VERSION=1
fi
+
+ ax_cxx_compile_cxx11_required=true
+ ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+ ac_success=no
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX supports C++11 features by default" >&5
+$as_echo_n "checking whether $CXX supports C++11 features by default... " >&6; }
+if ${ax_cv_cxx_compile_cxx11+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+ template <typename T>
+ struct check
+ {
+ static_assert(sizeof(int) <= sizeof(T), "not big enough");
+ };
+
+ struct Base {
+ virtual void f() {}
+ };
+ struct Child : public Base {
+ virtual void f() override {}
+ };
+
+ typedef check<check<bool>> right_angle_brackets;
+
+ int a;
+ decltype(a) b;
+
+ typedef check<int> check_type;
+ check_type c;
+ check_type&& cr = static_cast<check_type&&>(c);
+
+ auto d = a;
+ auto l = [](){};
+ // Prevent Clang error: unused variable 'l' [-Werror,-Wunused-variable]
+ struct use_l { use_l() { l(); } };
+
+ // http://stackoverflow.com/questions/13728184/template-aliases-and-sfinae
+ // Clang 3.1 fails with headers of libstd++ 4.8.3 when using std::function because of this
+ namespace test_template_alias_sfinae {
+ struct foo {};
+
+ template<typename T>
+ using member = typename T::member_type;
+
+ template<typename T>
+ void func(...) {}
+
+ template<typename T>
+ void func(member<T>*) {}
+
+ void test();
+
+ void test() {
+ func<foo>(0);
+ }
+ }
+
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+ ax_cv_cxx_compile_cxx11=yes
+else
+ ax_cv_cxx_compile_cxx11=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxx_compile_cxx11" >&5
+$as_echo "$ax_cv_cxx_compile_cxx11" >&6; }
+ if test x$ax_cv_cxx_compile_cxx11 = xyes; then
+ ac_success=yes
+ fi
+
+
+
+ if test x$ac_success = xno; then
+ for switch in -std=c++11 -std=c++0x +std=c++11; do
+ cachevar=`$as_echo "ax_cv_cxx_compile_cxx11_$switch" | $as_tr_sh`
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX supports C++11 features with $switch" >&5
+$as_echo_n "checking whether $CXX supports C++11 features with $switch... " >&6; }
+if eval \${$cachevar+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_save_CXXFLAGS="$CXXFLAGS"
+ CXXFLAGS="$CXXFLAGS $switch"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+ template <typename T>
+ struct check
+ {
+ static_assert(sizeof(int) <= sizeof(T), "not big enough");
+ };
+
+ struct Base {
+ virtual void f() {}
+ };
+ struct Child : public Base {
+ virtual void f() override {}
+ };
+
+ typedef check<check<bool>> right_angle_brackets;
+
+ int a;
+ decltype(a) b;
+
+ typedef check<int> check_type;
+ check_type c;
+ check_type&& cr = static_cast<check_type&&>(c);
+
+ auto d = a;
+ auto l = [](){};
+ // Prevent Clang error: unused variable 'l' [-Werror,-Wunused-variable]
+ struct use_l { use_l() { l(); } };
+
+ // http://stackoverflow.com/questions/13728184/template-aliases-and-sfinae
+ // Clang 3.1 fails with headers of libstd++ 4.8.3 when using std::function because of this
+ namespace test_template_alias_sfinae {
+ struct foo {};
+
+ template<typename T>
+ using member = typename T::member_type;
+
+ template<typename T>
+ void func(...) {}
+
+ template<typename T>
+ void func(member<T>*) {}
+
+ void test();
+
+ void test() {
+ func<foo>(0);
+ }
+ }
+
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+ eval $cachevar=yes
+else
+ eval $cachevar=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CXXFLAGS="$ac_save_CXXFLAGS"
+fi
+eval ac_res=\$$cachevar
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+ if eval test x\$$cachevar = xyes; then
+ CXXFLAGS="$CXXFLAGS $switch"
+ ac_success=yes
+ break
+ fi
+ done
+ fi
+ ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+ if test x$ax_cxx_compile_cxx11_required = xtrue; then
+ if test x$ac_success = xno; then
+ as_fn_error $? "*** A compiler with support for C++11 language features is required." "$LINENO" 5
+ fi
+ else
+ if test x$ac_success = xno; then
+ HAVE_CXX11=0
+ { $as_echo "$as_me:${as_lineno-$LINENO}: No compiler with C++11 support was found" >&5
+$as_echo "$as_me: No compiler with C++11 support was found" >&6;}
+ else
+ HAVE_CXX11=1
+
+$as_echo "#define HAVE_CXX11 1" >>confdefs.h
+
+ fi
+
+
+ fi
+
+
# Check whether --enable-static was given.
if test "${enable_static+set}" = set; then :
enableval=$enable_static; p=${PACKAGE-default}
-
func_stripname_cnf ()
{
case ${2} in
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by libsigc++ $as_me 2.4.1, which was
+This file was extended by libsigc++ $as_me 2.5.1, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-libsigc++ config.status 2.4.1
+libsigc++ config.status 2.5.1
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
## You should have received a copy of the GNU Lesser General Public License
## along with this library. If not, see <http://www.gnu.org/licenses/>.
-AC_INIT([libsigc++], [2.4.1],
+AC_INIT([libsigc++], [2.5.1],
[http://bugzilla.gnome.org/enter_bug.cgi?product=libsigc%2B%2B],
[libsigc++], [http://libsigc.sourceforge.net/])
AC_PREREQ([2.59])
AM_MAINTAINER_MODE
AC_ARG_VAR([ACLOCAL_FLAGS], [aclocal flags, e.g. -I <macro dir>])
-MM_PREREQ([0.9.7])
+MM_PREREQ([0.9.8])
MM_INIT_MODULE([sigc++-2.0])
MM_CONFIG_DOCTOOL_DIR([docs])
AC_PROG_CXX
+MM_AX_CXX_COMPILE_STDCXX_11([noext],[mandatory])
+
AC_DISABLE_STATIC
LT_INIT([win32-dll])
EXEEXT = @EXEEXT@
FGREP = @FGREP@
GREP = @GREP@
+HAVE_CXX11 = @HAVE_CXX11@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
track_obj.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
-
# 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/%)
+ $(adaptors_m4:%=adaptors/macros/%)
sigc_built_cc = $(base_built_cc) \
$(functors_built_cc:%=functors/%) \
- $(adaptors_built_cc:%=adaptors/%) \
- $(lambda_built_cc:%=adaptors/lambda/%)
+ $(adaptors_built_cc:%=adaptors/%)
sigc_built_h = $(base_built_h) \
$(functors_built_h:%=functors/%) \
- $(adaptors_built_h:%=adaptors/%) \
- $(lambda_built_h:%=adaptors/lambda/%)
+ $(adaptors_built_h:%=adaptors/%)
sigc_public_h = \
bind.h \
visit_each.h \
adaptors/adaptors.h \
adaptors/bound_argument.h \
- adaptors/lambda/lambda.h \
functors/functors.h \
functors/slot_base.h
<li><a href="http://library.gnome.org/devel/libsigc++/stable/group__slot.html">Slots</a></li>
<li><a href="http://library.gnome.org/devel/libsigc++/stable/group__sigcfunctors.html">Functors</a></li>
<li><a href="http://library.gnome.org/devel/libsigc++/stable/group__adaptors.html">Adaptors</a></li>
- <li><a href="http://library.gnome.org/devel/libsigc++/stable/group__lambdas.html">Lambdas</a></li>
</ul>
</td>
<td valign="top" width="33%">
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Chapter 1. Introduction</title><meta name="generator" content="DocBook XSL Stylesheets V1.78.1"><link rel="home" href="index.html" title="libsigc++"><link rel="up" href="index.html" title="libsigc++"><link rel="prev" href="index.html" title="libsigc++"><link rel="next" href="ch02.html" title="Chapter 2. Connecting your code to signals"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 1. Introduction</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="index.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch02.html">Next</a></td></tr></table><hr></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="sec-introduction"></a>Chapter 1. Introduction</h1></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl class="toc"><dt><span class="sect1"><a href="ch01.html#idp51112080">Motivation</a></span></dt></dl></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp51112080"></a>Motivation</h2></div></div></div><p>There are many situations in which it is desirable to decouple code that
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Chapter 1. Introduction</title><meta name="generator" content="DocBook XSL Stylesheets V1.78.1"><link rel="home" href="index.html" title="libsigc++"><link rel="up" href="index.html" title="libsigc++"><link rel="prev" href="index.html" title="libsigc++"><link rel="next" href="ch02.html" title="Chapter 2. Connecting your code to signals"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 1. Introduction</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="index.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch02.html">Next</a></td></tr></table><hr></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="sec-introduction"></a>Chapter 1. Introduction</h1></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl class="toc"><dt><span class="sect1"><a href="ch01.html#idp49228816">Motivation</a></span></dt></dl></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp49228816"></a>Motivation</h2></div></div></div><p>There are many situations in which it is desirable to decouple code that
detects an event, and the code that deals with it. This is especially common in
GUI programming, where a toolkit might provide user interface elements such as
clickable buttons but, being a generic toolkit, doesn't know how an individual
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Chapter 2. Connecting your code to signals</title><meta name="generator" content="DocBook XSL Stylesheets V1.78.1"><link rel="home" href="index.html" title="libsigc++"><link rel="up" href="index.html" title="libsigc++"><link rel="prev" href="ch01.html" title="Chapter 1. Introduction"><link rel="next" href="ch02s02.html" title="Using a member function"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 2. Connecting your code to signals</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch01.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch02s02.html">Next</a></td></tr></table><hr></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="sec-connecting"></a>Chapter 2. Connecting your code to signals</h1></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl class="toc"><dt><span class="sect1"><a href="ch02.html#idp51028352">A simple example</a></span></dt><dt><span class="sect1"><a href="ch02s02.html">Using a member function</a></span></dt><dt><span class="sect1"><a href="ch02s03.html">Signals with parameters</a></span></dt><dt><span class="sect1"><a href="ch02s04.html">Disconnecting</a></span></dt></dl></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp51028352"></a>A simple example</h2></div></div></div><p>So to get some experience, lets look at a simple example...</p><p>Lets say you and I are writing an application which informs the user when
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Chapter 2. Connecting your code to signals</title><meta name="generator" content="DocBook XSL Stylesheets V1.78.1"><link rel="home" href="index.html" title="libsigc++"><link rel="up" href="index.html" title="libsigc++"><link rel="prev" href="ch01.html" title="Chapter 1. Introduction"><link rel="next" href="ch02s02.html" title="Using a member function"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 2. Connecting your code to signals</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch01.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch02s02.html">Next</a></td></tr></table><hr></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="sec-connecting"></a>Chapter 2. Connecting your code to signals</h1></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl class="toc"><dt><span class="sect1"><a href="ch02.html#idp53916528">A simple example</a></span></dt><dt><span class="sect1"><a href="ch02s02.html">Using a member function</a></span></dt><dt><span class="sect1"><a href="ch02s03.html">Signals with parameters</a></span></dt><dt><span class="sect1"><a href="ch02s04.html">Disconnecting</a></span></dt></dl></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp53916528"></a>A simple example</h2></div></div></div><p>So to get some experience, lets look at a simple example...</p><p>Lets say you and I are writing an application which informs the user when
aliens land in the car park. To keep the design nice and clean, and allow for
maximum portability to different interfaces, we decide to use libsigc++ to
split the project in two parts.</p><p>I will write the <code class="literal">AlienDetector</code> class, and you will write the code to inform
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Using a member function</title><meta name="generator" content="DocBook XSL Stylesheets V1.78.1"><link rel="home" href="index.html" title="libsigc++"><link rel="up" href="ch02.html" title="Chapter 2. Connecting your code to signals"><link rel="prev" href="ch02.html" title="Chapter 2. Connecting your code to signals"><link rel="next" href="ch02s03.html" title="Signals with parameters"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Using a member function</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02.html">Prev</a> </td><th width="60%" align="center">Chapter 2. Connecting your code to signals</th><td width="20%" align="right"> <a accesskey="n" href="ch02s03.html">Next</a></td></tr></table><hr></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp51043008"></a>Using a member function</h2></div></div></div><p>Suppose you found a more sophisticated alien alerter class on the web,
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Using a member function</title><meta name="generator" content="DocBook XSL Stylesheets V1.78.1"><link rel="home" href="index.html" title="libsigc++"><link rel="up" href="ch02.html" title="Chapter 2. Connecting your code to signals"><link rel="prev" href="ch02.html" title="Chapter 2. Connecting your code to signals"><link rel="next" href="ch02s03.html" title="Signals with parameters"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Using a member function</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02.html">Prev</a> </td><th width="60%" align="center">Chapter 2. Connecting your code to signals</th><td width="20%" align="right"> <a accesskey="n" href="ch02s03.html">Next</a></td></tr></table><hr></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp53930272"></a>Using a member function</h2></div></div></div><p>Suppose you found a more sophisticated alien alerter class on the web,
such as this:</p><pre class="programlisting">
class AlienAlerter : public sigc::trackable
{
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Signals with parameters</title><meta name="generator" content="DocBook XSL Stylesheets V1.78.1"><link rel="home" href="index.html" title="libsigc++"><link rel="up" href="ch02.html" title="Chapter 2. Connecting your code to signals"><link rel="prev" href="ch02s02.html" title="Using a member function"><link rel="next" href="ch02s04.html" title="Disconnecting"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Signals with parameters</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s02.html">Prev</a> </td><th width="60%" align="center">Chapter 2. Connecting your code to signals</th><td width="20%" align="right"> <a accesskey="n" href="ch02s04.html">Next</a></td></tr></table><hr></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp51052960"></a>Signals with parameters</h2></div></div></div><p>Functions taking no parameters and returning void are quite useful,
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Signals with parameters</title><meta name="generator" content="DocBook XSL Stylesheets V1.78.1"><link rel="home" href="index.html" title="libsigc++"><link rel="up" href="ch02.html" title="Chapter 2. Connecting your code to signals"><link rel="prev" href="ch02s02.html" title="Using a member function"><link rel="next" href="ch02s04.html" title="Disconnecting"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Signals with parameters</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s02.html">Prev</a> </td><th width="60%" align="center">Chapter 2. Connecting your code to signals</th><td width="20%" align="right"> <a accesskey="n" href="ch02s04.html">Next</a></td></tr></table><hr></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp53935856"></a>Signals with parameters</h2></div></div></div><p>Functions taking no parameters and returning void are quite useful,
especially when they're members of classes that can store unlimited amounts of
safely typed data, but they're not sufficient for everything.</p><p>What if aliens don't land in the carpark, but somewhere else? Let's modify
the example so that the callback function takes a <code class="literal">std::string</code> with the location
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Disconnecting</title><meta name="generator" content="DocBook XSL Stylesheets V1.78.1"><link rel="home" href="index.html" title="libsigc++"><link rel="up" href="ch02.html" title="Chapter 2. Connecting your code to signals"><link rel="prev" href="ch02s03.html" title="Signals with parameters"><link rel="next" href="ch03.html" title="Chapter 3. Writing your own signals"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Disconnecting</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s03.html">Prev</a> </td><th width="60%" align="center">Chapter 2. Connecting your code to signals</th><td width="20%" align="right"> <a accesskey="n" href="ch03.html">Next</a></td></tr></table><hr></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp51063392"></a>Disconnecting</h2></div></div></div><p>If you decide you no longer want your code to be called whenever a signal is
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Disconnecting</title><meta name="generator" content="DocBook XSL Stylesheets V1.78.1"><link rel="home" href="index.html" title="libsigc++"><link rel="up" href="ch02.html" title="Chapter 2. Connecting your code to signals"><link rel="prev" href="ch02s03.html" title="Signals with parameters"><link rel="next" href="ch03.html" title="Chapter 3. Writing your own signals"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Disconnecting</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s03.html">Prev</a> </td><th width="60%" align="center">Chapter 2. Connecting your code to signals</th><td width="20%" align="right"> <a accesskey="n" href="ch03.html">Next</a></td></tr></table><hr></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp53945856"></a>Disconnecting</h2></div></div></div><p>If you decide you no longer want your code to be called whenever a signal is
emitted, you must remember the return value of <code class="literal">connect()</code>, which we've been
ignoring until now.</p><p><code class="literal">connect()</code> returns a <code class="literal">sigc::connection</code> object, which has a <code class="literal">disconnect()</code> member method. This does just what you think it does.</p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s03.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="ch03.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Signals with parameters </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 3. Writing your own signals</td></tr></table></div></body></html>
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Chapter 3. Writing your own signals</title><meta name="generator" content="DocBook XSL Stylesheets V1.78.1"><link rel="home" href="index.html" title="libsigc++"><link rel="up" href="index.html" title="libsigc++"><link rel="prev" href="ch02s04.html" title="Disconnecting"><link rel="next" href="ch03s02.html" title="What about return values?"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 3. Writing your own signals</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s04.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch03s02.html">Next</a></td></tr></table><hr></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="sec-writing"></a>Chapter 3. Writing your own signals</h1></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl class="toc"><dt><span class="sect1"><a href="ch03.html#idp51070000">Quick recap</a></span></dt><dt><span class="sect1"><a href="ch03s02.html">What about return values?</a></span></dt></dl></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp51070000"></a>Quick recap</h2></div></div></div><p>If all you want to do is use gtkmm, and connect your functionality to its
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Chapter 3. Writing your own signals</title><meta name="generator" content="DocBook XSL Stylesheets V1.78.1"><link rel="home" href="index.html" title="libsigc++"><link rel="up" href="index.html" title="libsigc++"><link rel="prev" href="ch02s04.html" title="Disconnecting"><link rel="next" href="ch03s02.html" title="What about return values?"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 3. Writing your own signals</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s04.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch03s02.html">Next</a></td></tr></table><hr></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="sec-writing"></a>Chapter 3. Writing your own signals</h1></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl class="toc"><dt><span class="sect1"><a href="ch03.html#idp53951872">Quick recap</a></span></dt><dt><span class="sect1"><a href="ch03s02.html">What about return values?</a></span></dt></dl></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp53951872"></a>Quick recap</h2></div></div></div><p>If all you want to do is use gtkmm, and connect your functionality to its
signals, you can probably stop reading here.</p><p>You might benefit from reading on anyway though, as this section is going to
be quite simple, and the 'Rebinding' technique from the next section is
occasionally useful.</p><p>We've already covered the way the types of signals are made up, but lets
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>What about return values?</title><meta name="generator" content="DocBook XSL Stylesheets V1.78.1"><link rel="home" href="index.html" title="libsigc++"><link rel="up" href="ch03.html" title="Chapter 3. Writing your own signals"><link rel="prev" href="ch03.html" title="Chapter 3. Writing your own signals"><link rel="next" href="ch04.html" title="Chapter 4. Advanced topics"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">What about return values?</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch03.html">Prev</a> </td><th width="60%" align="center">Chapter 3. Writing your own signals</th><td width="20%" align="right"> <a accesskey="n" href="ch04.html">Next</a></td></tr></table><hr></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp56145968"></a>What about return values?</h2></div></div></div><p>If you only ever have one slot connected to a signal, or if you only care
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>What about return values?</title><meta name="generator" content="DocBook XSL Stylesheets V1.78.1"><link rel="home" href="index.html" title="libsigc++"><link rel="up" href="ch03.html" title="Chapter 3. Writing your own signals"><link rel="prev" href="ch03.html" title="Chapter 3. Writing your own signals"><link rel="next" href="ch04.html" title="Chapter 4. Advanced topics"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">What about return values?</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch03.html">Prev</a> </td><th width="60%" align="center">Chapter 3. Writing your own signals</th><td width="20%" align="right"> <a accesskey="n" href="ch04.html">Next</a></td></tr></table><hr></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp53964912"></a>What about return values?</h2></div></div></div><p>If you only ever have one slot connected to a signal, or if you only care
about the return value of the last registered one, it's quite straightforward:</p><pre class="programlisting">
sigc::signal<int> somesignal;
int a_return_value;
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Chapter 4. Advanced topics</title><meta name="generator" content="DocBook XSL Stylesheets V1.78.1"><link rel="home" href="index.html" title="libsigc++"><link rel="up" href="index.html" title="libsigc++"><link rel="prev" href="ch03s02.html" title="What about return values?"><link rel="next" href="ch04s02.html" title="Retyping"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 4. Advanced topics</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch03s02.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch04s02.html">Next</a></td></tr></table><hr></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="sec-advanced"></a>Chapter 4. Advanced topics</h1></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl class="toc"><dt><span class="sect1"><a href="ch04.html#idp56149136">Rebinding</a></span></dt><dt><span class="sect1"><a href="ch04s02.html">Retyping</a></span></dt></dl></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp56149136"></a>Rebinding</h2></div></div></div><p>Suppose you already have a function that you want to be called when a
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Chapter 4. Advanced topics</title><meta name="generator" content="DocBook XSL Stylesheets V1.78.1"><link rel="home" href="index.html" title="libsigc++"><link rel="up" href="index.html" title="libsigc++"><link rel="prev" href="ch03s02.html" title="What about return values?"><link rel="next" href="ch04s02.html" title="Retyping"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 4. Advanced topics</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch03s02.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch04s02.html">Next</a></td></tr></table><hr></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="sec-advanced"></a>Chapter 4. Advanced topics</h1></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl class="toc"><dt><span class="sect1"><a href="ch04.html#idp53968080">Rebinding</a></span></dt><dt><span class="sect1"><a href="ch04s02.html">Retyping</a></span></dt></dl></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp53968080"></a>Rebinding</h2></div></div></div><p>Suppose you already have a function that you want to be called when a
signal is emitted, but it takes the wrong argument types. For example, lets try
to attach the <code class="literal">warn_people(std::string)</code> function to the detected signal
from the first example, which didn't supply a location string.</p><p>Just trying to connect it with:</p><pre class="programlisting">
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Retyping</title><meta name="generator" content="DocBook XSL Stylesheets V1.78.1"><link rel="home" href="index.html" title="libsigc++"><link rel="up" href="ch04.html" title="Chapter 4. Advanced topics"><link rel="prev" href="ch04.html" title="Chapter 4. Advanced topics"><link rel="next" href="ch05.html" title="Chapter 5. Reference"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Retyping</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch04.html">Prev</a> </td><th width="60%" align="center">Chapter 4. Advanced topics</th><td width="20%" align="right"> <a accesskey="n" href="ch05.html">Next</a></td></tr></table><hr></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp56165936"></a>Retyping</h2></div></div></div><p>A similar topic is retyping. Perhaps you have a signal that takes an <code class="literal">int</code>, but
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Retyping</title><meta name="generator" content="DocBook XSL Stylesheets V1.78.1"><link rel="home" href="index.html" title="libsigc++"><link rel="up" href="ch04.html" title="Chapter 4. Advanced topics"><link rel="prev" href="ch04.html" title="Chapter 4. Advanced topics"><link rel="next" href="ch05.html" title="Chapter 5. Reference"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Retyping</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch04.html">Prev</a> </td><th width="60%" align="center">Chapter 4. Advanced topics</th><td width="20%" align="right"> <a accesskey="n" href="ch05.html">Next</a></td></tr></table><hr></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp53984880"></a>Retyping</h2></div></div></div><p>A similar topic is retyping. Perhaps you have a signal that takes an <code class="literal">int</code>, but
you want to connect a function that takes a <code class="literal">double</code>.</p><p>This can be achieved with the <code class="literal">sigc::retype</code> template. <code class="literal">retype</code> has template arguments
just like <code class="literal">sigc::signal</code> - return value, signal types.</p><p>It's a function template that takes a <code class="literal">sigc::slot</code>, and returns a <code class="literal">sigc::slot</code>. eg.</p><pre class="programlisting">
void dostuff(double foo)
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>libsigc++</title><meta name="generator" content="DocBook XSL Stylesheets V1.78.1"><meta name="description" content="libsigc++ is a C++ template library implementing typesafe callbacks. This is an intro to libsigc++."><link rel="home" href="index.html" title="libsigc++"><link rel="next" href="ch01.html" title="Chapter 1. Introduction"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">libsigc++</th></tr><tr><td width="20%" align="left"> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch01.html">Next</a></td></tr></table><hr></div><div lang="en" class="book"><div class="titlepage"><div><div><h1 class="title"><a name="index"></a>libsigc++</h1></div><div><div class="author"><h3 class="author"><span class="firstname">Ainsley</span> <span class="surname">Pereira</span></h3></div></div><div><p class="pubdate">September 2002. Updated January 2004 by Murray Cumming</p></div><div><div class="abstract"><p class="title"><b>Abstract</b></p><p>libsigc++ is a C++ template library implementing typesafe callbacks. This is an intro to libsigc++.</p></div></div></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl class="toc"><dt><span class="chapter"><a href="ch01.html">1. Introduction</a></span></dt><dd><dl><dt><span class="sect1"><a href="ch01.html#idp51112080">Motivation</a></span></dt></dl></dd><dt><span class="chapter"><a href="ch02.html">2. Connecting your code to signals</a></span></dt><dd><dl><dt><span class="sect1"><a href="ch02.html#idp51028352">A simple example</a></span></dt><dt><span class="sect1"><a href="ch02s02.html">Using a member function</a></span></dt><dt><span class="sect1"><a href="ch02s03.html">Signals with parameters</a></span></dt><dt><span class="sect1"><a href="ch02s04.html">Disconnecting</a></span></dt></dl></dd><dt><span class="chapter"><a href="ch03.html">3. Writing your own signals</a></span></dt><dd><dl><dt><span class="sect1"><a href="ch03.html#idp51070000">Quick recap</a></span></dt><dt><span class="sect1"><a href="ch03s02.html">What about return values?</a></span></dt></dl></dd><dt><span class="chapter"><a href="ch04.html">4. Advanced topics</a></span></dt><dd><dl><dt><span class="sect1"><a href="ch04.html#idp56149136">Rebinding</a></span></dt><dt><span class="sect1"><a href="ch04s02.html">Retyping</a></span></dt></dl></dd><dt><span class="chapter"><a href="ch05.html">5. Reference</a></span></dt></dl></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="ch01.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top"> </td><td width="20%" align="center"> </td><td width="40%" align="right" valign="top"> Chapter 1. Introduction</td></tr></table></div></body></html>
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>libsigc++</title><meta name="generator" content="DocBook XSL Stylesheets V1.78.1"><meta name="description" content="libsigc++ is a C++ template library implementing typesafe callbacks. This is an intro to libsigc++."><link rel="home" href="index.html" title="libsigc++"><link rel="next" href="ch01.html" title="Chapter 1. Introduction"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">libsigc++</th></tr><tr><td width="20%" align="left"> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch01.html">Next</a></td></tr></table><hr></div><div lang="en" class="book"><div class="titlepage"><div><div><h1 class="title"><a name="index"></a>libsigc++</h1></div><div><div class="author"><h3 class="author"><span class="firstname">Ainsley</span> <span class="surname">Pereira</span></h3></div></div><div><p class="pubdate">September 2002. Updated January 2004 by Murray Cumming</p></div><div><div class="abstract"><p class="title"><b>Abstract</b></p><p>libsigc++ is a C++ template library implementing typesafe callbacks. This is an intro to libsigc++.</p></div></div></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl class="toc"><dt><span class="chapter"><a href="ch01.html">1. Introduction</a></span></dt><dd><dl><dt><span class="sect1"><a href="ch01.html#idp49228816">Motivation</a></span></dt></dl></dd><dt><span class="chapter"><a href="ch02.html">2. Connecting your code to signals</a></span></dt><dd><dl><dt><span class="sect1"><a href="ch02.html#idp53916528">A simple example</a></span></dt><dt><span class="sect1"><a href="ch02s02.html">Using a member function</a></span></dt><dt><span class="sect1"><a href="ch02s03.html">Signals with parameters</a></span></dt><dt><span class="sect1"><a href="ch02s04.html">Disconnecting</a></span></dt></dl></dd><dt><span class="chapter"><a href="ch03.html">3. Writing your own signals</a></span></dt><dd><dl><dt><span class="sect1"><a href="ch03.html#idp53951872">Quick recap</a></span></dt><dt><span class="sect1"><a href="ch03s02.html">What about return values?</a></span></dt></dl></dd><dt><span class="chapter"><a href="ch04.html">4. Advanced topics</a></span></dt><dd><dl><dt><span class="sect1"><a href="ch04.html#idp53968080">Rebinding</a></span></dt><dt><span class="sect1"><a href="ch04s02.html">Retyping</a></span></dt></dl></dd><dt><span class="chapter"><a href="ch05.html">5. Reference</a></span></dt></dl></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="ch01.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top"> </td><td width="20%" align="center"> </td><td width="40%" align="right" valign="top"> Chapter 1. Introduction</td></tr></table></div></body></html>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
<tr id="row_0_42_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1bound__volatile__mem__functor5.html" target="_self">bound_volatile_mem_functor5</a></td><td class="desc">Bound_volatile_mem_functor5 encapsulates a volatile method with 5 arguments and an object instance </td></tr>
<tr id="row_0_43_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1bound__volatile__mem__functor6.html" target="_self">bound_volatile_mem_functor6</a></td><td class="desc">Bound_volatile_mem_functor6 encapsulates a volatile method with 6 arguments and an object instance </td></tr>
<tr id="row_0_44_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1bound__volatile__mem__functor7.html" target="_self">bound_volatile_mem_functor7</a></td><td class="desc">Bound_volatile_mem_functor7 encapsulates a volatile method with 7 arguments and an object instance </td></tr>
-<tr id="row_0_45_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsigc_1_1compose1__functor.html" target="_self">compose1_functor</a></td><td class="desc">Adaptor that combines two functors </td></tr>
-<tr id="row_0_46_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsigc_1_1compose2__functor.html" target="_self">compose2_functor</a></td><td class="desc">Adaptor that combines three functors </td></tr>
-<tr id="row_0_47_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsigc_1_1connection.html" target="_self">connection</a></td><td class="desc">Convinience class for safe disconnection </td></tr>
-<tr id="row_0_48_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1const__limit__reference.html" target="_self">const_limit_reference</a></td><td class="desc">A const_limit_reference<Foo> object stores a reference (Foo&), but make sure that, if Foo inherits from <a class="el" href="structsigc_1_1trackable.html" title="Base class for objects with auto-disconnection. ">sigc::trackable</a>, then <a class="el" href="group__sigcfunctors.html#ga64cb7832acc1e58efb5ffe0b4f5e9404" title="This function performs a functor on each of the targets of a functor. ">visit_each<>()</a> will "limit" itself to the <a class="el" href="structsigc_1_1trackable.html" title="Base class for objects with auto-disconnection. ">sigc::trackable</a> reference instead of the derived reference </td></tr>
-<tr id="row_0_49_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1const__limit__reference_3_01T__type_00_01true_01_4.html" target="_self">const_limit_reference< T_type, true ></a></td><td class="desc">Const_limit_reference object for a class that derives from trackable </td></tr>
-<tr id="row_0_50_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1const__mem__functor0.html" target="_self">const_mem_functor0</a></td><td class="desc">Const_mem_functor0 wraps const methods with 0 argument(s) </td></tr>
-<tr id="row_0_51_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1const__mem__functor1.html" target="_self">const_mem_functor1</a></td><td class="desc">Const_mem_functor1 wraps const methods with 1 argument(s) </td></tr>
-<tr id="row_0_52_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1const__mem__functor2.html" target="_self">const_mem_functor2</a></td><td class="desc">Const_mem_functor2 wraps const methods with 2 argument(s) </td></tr>
-<tr id="row_0_53_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1const__mem__functor3.html" target="_self">const_mem_functor3</a></td><td class="desc">Const_mem_functor3 wraps const methods with 3 argument(s) </td></tr>
-<tr id="row_0_54_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1const__mem__functor4.html" target="_self">const_mem_functor4</a></td><td class="desc">Const_mem_functor4 wraps const methods with 4 argument(s) </td></tr>
-<tr id="row_0_55_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1const__mem__functor5.html" target="_self">const_mem_functor5</a></td><td class="desc">Const_mem_functor5 wraps const methods with 5 argument(s) </td></tr>
-<tr id="row_0_56_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1const__mem__functor6.html" target="_self">const_mem_functor6</a></td><td class="desc">Const_mem_functor6 wraps const methods with 6 argument(s) </td></tr>
-<tr id="row_0_57_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1const__mem__functor7.html" target="_self">const_mem_functor7</a></td><td class="desc">Const_mem_functor7 wraps const methods with 7 argument(s) </td></tr>
-<tr id="row_0_58_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsigc_1_1const__reference__wrapper.html" target="_self">const_reference_wrapper</a></td><td class="desc">Const reference wrapper </td></tr>
-<tr id="row_0_59_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1const__volatile__limit__reference.html" target="_self">const_volatile_limit_reference</a></td><td class="desc">A const_volatile_limit_reference<Foo> object stores a reference (Foo&), but make sure that, if Foo inherits from <a class="el" href="structsigc_1_1trackable.html" title="Base class for objects with auto-disconnection. ">sigc::trackable</a>, then <a class="el" href="group__sigcfunctors.html#ga64cb7832acc1e58efb5ffe0b4f5e9404" title="This function performs a functor on each of the targets of a functor. ">visit_each<>()</a> will "limit" itself to the <a class="el" href="structsigc_1_1trackable.html" title="Base class for objects with auto-disconnection. ">sigc::trackable</a> reference instead of the derived reference </td></tr>
-<tr id="row_0_60_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1const__volatile__limit__reference_3_01T__type_00_01true_01_4.html" target="_self">const_volatile_limit_reference< T_type, true ></a></td><td class="desc">Const_volatile_limit_reference object for a class that derives from trackable </td></tr>
-<tr id="row_0_61_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1const__volatile__mem__functor0.html" target="_self">const_volatile_mem_functor0</a></td><td class="desc">Const_volatile_mem_functor0 wraps const volatile methods with 0 argument(s) </td></tr>
-<tr id="row_0_62_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1const__volatile__mem__functor1.html" target="_self">const_volatile_mem_functor1</a></td><td class="desc">Const_volatile_mem_functor1 wraps const volatile methods with 1 argument(s) </td></tr>
-<tr id="row_0_63_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1const__volatile__mem__functor2.html" target="_self">const_volatile_mem_functor2</a></td><td class="desc">Const_volatile_mem_functor2 wraps const volatile methods with 2 argument(s) </td></tr>
-<tr id="row_0_64_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1const__volatile__mem__functor3.html" target="_self">const_volatile_mem_functor3</a></td><td class="desc">Const_volatile_mem_functor3 wraps const volatile methods with 3 argument(s) </td></tr>
-<tr id="row_0_65_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1const__volatile__mem__functor4.html" target="_self">const_volatile_mem_functor4</a></td><td class="desc">Const_volatile_mem_functor4 wraps const volatile methods with 4 argument(s) </td></tr>
-<tr id="row_0_66_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1const__volatile__mem__functor5.html" target="_self">const_volatile_mem_functor5</a></td><td class="desc">Const_volatile_mem_functor5 wraps const volatile methods with 5 argument(s) </td></tr>
-<tr id="row_0_67_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1const__volatile__mem__functor6.html" target="_self">const_volatile_mem_functor6</a></td><td class="desc">Const_volatile_mem_functor6 wraps const volatile methods with 6 argument(s) </td></tr>
-<tr id="row_0_68_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1const__volatile__mem__functor7.html" target="_self">const_volatile_mem_functor7</a></td><td class="desc">Const_volatile_mem_functor7 wraps const volatile methods with 7 argument(s) </td></tr>
-<tr id="row_0_69_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsigc_1_1deduce__result__type.html" target="_self">deduce_result_type</a></td><td class="desc">Deduce the return type of a functor </td></tr>
-<tr id="row_0_70_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsigc_1_1exception__catch__functor.html" target="_self">exception_catch_functor</a></td><td class="desc"></td></tr>
-<tr id="row_0_71_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsigc_1_1exception__catch__functor_3_01T__functor_00_01T__catcher_00_01void_01_4.html" target="_self">exception_catch_functor< T_functor, T_catcher, void ></a></td><td class="desc"></td></tr>
-<tr id="row_0_72_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsigc_1_1functor__base.html" target="_self">functor_base</a></td><td class="desc">A hint to the compiler </td></tr>
-<tr id="row_0_73_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsigc_1_1functor__trait.html" target="_self">functor_trait</a></td><td class="desc">Trait that specifies the return type of any type </td></tr>
-<tr id="row_0_74_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsigc_1_1hide__functor.html" target="_self">hide_functor</a></td><td class="desc">Adaptor that adds a dummy parameter to the wrapped functor </td></tr>
-<tr id="row_0_75_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsigc_1_1hide__functor_3_010_00_01T__functor_01_4.html" target="_self">hide_functor< 0, T_functor ></a></td><td class="desc">Adaptor that adds a dummy parameter to the wrapped functor </td></tr>
-<tr id="row_0_76_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsigc_1_1hide__functor_3-1_00_01T__functor_01_4.html" target="_self">hide_functor<-1, T_functor ></a></td><td class="desc">Adaptor that adds a dummy parameter to the wrapped functor </td></tr>
-<tr id="row_0_77_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsigc_1_1is__base__and__derived.html" target="_self">is_base_and_derived</a></td><td class="desc">Compile-time determination of base-class relationship in C++ (adapted to match the syntax of boost's type_traits library) </td></tr>
-<tr id="row_0_78_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsigc_1_1is__base__and__derived_3_01T__base_00_01T__base_01_4.html" target="_self">is_base_and_derived< T_base, T_base ></a></td><td class="desc"></td></tr>
-<tr id="row_0_79_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsigc_1_1lambda.html" target="_self">lambda</a></td><td class="desc">Lambda type </td></tr>
-<tr id="row_0_80_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsigc_1_1lambda__base.html" target="_self">lambda_base</a></td><td class="desc">A hint to the compiler </td></tr>
-<tr id="row_0_81_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsigc_1_1lambda__group1.html" target="_self">lambda_group1</a></td><td class="desc">Lambda_group1 wraps a functor and rebuilds its arguments from 1 lambda expressions </td></tr>
-<tr id="row_0_82_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsigc_1_1lambda__group2.html" target="_self">lambda_group2</a></td><td class="desc">Lambda_group2 wraps a functor and rebuilds its arguments from 2 lambda expressions </td></tr>
-<tr id="row_0_83_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsigc_1_1lambda__group3.html" target="_self">lambda_group3</a></td><td class="desc">Lambda_group3 wraps a functor and rebuilds its arguments from 3 lambda expressions </td></tr>
-<tr id="row_0_84_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1limit__reference.html" target="_self">limit_reference</a></td><td class="desc">A limit_reference<Foo> object stores a reference (Foo&), but make sure that, if Foo inherits from <a class="el" href="structsigc_1_1trackable.html" title="Base class for objects with auto-disconnection. ">sigc::trackable</a>, then <a class="el" href="group__sigcfunctors.html#ga64cb7832acc1e58efb5ffe0b4f5e9404" title="This function performs a functor on each of the targets of a functor. ">visit_each<>()</a> will "limit" itself to the <a class="el" href="structsigc_1_1trackable.html" title="Base class for objects with auto-disconnection. ">sigc::trackable</a> reference instead of the derived reference </td></tr>
-<tr id="row_0_85_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1limit__reference_3_01T__type_00_01true_01_4.html" target="_self">limit_reference< T_type, true ></a></td><td class="desc">Limit_reference object for a class that derives from trackable </td></tr>
-<tr id="row_0_86_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1mem__functor0.html" target="_self">mem_functor0</a></td><td class="desc">Mem_functor0 wraps methods with 0 argument(s) </td></tr>
-<tr id="row_0_87_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1mem__functor1.html" target="_self">mem_functor1</a></td><td class="desc">Mem_functor1 wraps methods with 1 argument(s) </td></tr>
-<tr id="row_0_88_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1mem__functor2.html" target="_self">mem_functor2</a></td><td class="desc">Mem_functor2 wraps methods with 2 argument(s) </td></tr>
-<tr id="row_0_89_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1mem__functor3.html" target="_self">mem_functor3</a></td><td class="desc">Mem_functor3 wraps methods with 3 argument(s) </td></tr>
-<tr id="row_0_90_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1mem__functor4.html" target="_self">mem_functor4</a></td><td class="desc">Mem_functor4 wraps methods with 4 argument(s) </td></tr>
-<tr id="row_0_91_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1mem__functor5.html" target="_self">mem_functor5</a></td><td class="desc">Mem_functor5 wraps methods with 5 argument(s) </td></tr>
-<tr id="row_0_92_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1mem__functor6.html" target="_self">mem_functor6</a></td><td class="desc">Mem_functor6 wraps methods with 6 argument(s) </td></tr>
-<tr id="row_0_93_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1mem__functor7.html" target="_self">mem_functor7</a></td><td class="desc">Mem_functor7 wraps methods with 7 argument(s) </td></tr>
-<tr id="row_0_94_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsigc_1_1nil.html" target="_self">nil</a></td><td class="desc">Nil struct type </td></tr>
-<tr id="row_0_95_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1pointer__functor0.html" target="_self">pointer_functor0</a></td><td class="desc">Pointer_functor0 wraps existing non-member functions with 0 argument(s) </td></tr>
-<tr id="row_0_96_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1pointer__functor1.html" target="_self">pointer_functor1</a></td><td class="desc">Pointer_functor1 wraps existing non-member functions with 1 argument(s) </td></tr>
-<tr id="row_0_97_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1pointer__functor2.html" target="_self">pointer_functor2</a></td><td class="desc">Pointer_functor2 wraps existing non-member functions with 2 argument(s) </td></tr>
-<tr id="row_0_98_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1pointer__functor3.html" target="_self">pointer_functor3</a></td><td class="desc">Pointer_functor3 wraps existing non-member functions with 3 argument(s) </td></tr>
-<tr id="row_0_99_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1pointer__functor4.html" target="_self">pointer_functor4</a></td><td class="desc">Pointer_functor4 wraps existing non-member functions with 4 argument(s) </td></tr>
-<tr id="row_0_100_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1pointer__functor5.html" target="_self">pointer_functor5</a></td><td class="desc">Pointer_functor5 wraps existing non-member functions with 5 argument(s) </td></tr>
-<tr id="row_0_101_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1pointer__functor6.html" target="_self">pointer_functor6</a></td><td class="desc">Pointer_functor6 wraps existing non-member functions with 6 argument(s) </td></tr>
-<tr id="row_0_102_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1pointer__functor7.html" target="_self">pointer_functor7</a></td><td class="desc">Pointer_functor7 wraps existing non-member functions with 7 argument(s) </td></tr>
-<tr id="row_0_103_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsigc_1_1reference__wrapper.html" target="_self">reference_wrapper</a></td><td class="desc">Reference wrapper </td></tr>
-<tr id="row_0_104_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsigc_1_1retype__functor.html" target="_self">retype_functor</a></td><td class="desc">Adaptor that performs C-style casts on the parameters passed on to the functor </td></tr>
-<tr id="row_0_105_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsigc_1_1retype__return__functor.html" target="_self">retype_return_functor</a></td><td class="desc">Adaptor that performs a C-style cast on the return value of a functor </td></tr>
-<tr id="row_0_106_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsigc_1_1retype__return__functor_3_01void_00_01T__functor_01_4.html" target="_self">retype_return_functor< void, T_functor ></a></td><td class="desc">Adaptor that performs a C-style cast on the return value of a functor </td></tr>
-<tr id="row_0_107_" style="display:none;"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span id="arr_0_107_" class="arrow" onclick="toggleFolder('0_107_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1signal.html" target="_self">signal</a></td><td class="desc">Convenience wrapper for the numbered <a class="el" href="classsigc_1_1signal.html" title="Convenience wrapper for the numbered sigc::signal# templates. ">sigc::signal</a># templates </td></tr>
-<tr id="row_0_107_0_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1signal_1_1accumulated.html" target="_self">accumulated</a></td><td class="desc">Convenience wrapper for the numbered <a class="el" href="classsigc_1_1signal.html" title="Convenience wrapper for the numbered sigc::signal# templates. ">sigc::signal</a># templates </td></tr>
-<tr id="row_0_108_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1signal0.html" target="_self">signal0</a></td><td class="desc">Signal declaration </td></tr>
-<tr id="row_0_109_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1signal1.html" target="_self">signal1</a></td><td class="desc">Signal declaration </td></tr>
-<tr id="row_0_110_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1signal2.html" target="_self">signal2</a></td><td class="desc">Signal declaration </td></tr>
-<tr id="row_0_111_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1signal3.html" target="_self">signal3</a></td><td class="desc">Signal declaration </td></tr>
-<tr id="row_0_112_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1signal4.html" target="_self">signal4</a></td><td class="desc">Signal declaration </td></tr>
-<tr id="row_0_113_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1signal5.html" target="_self">signal5</a></td><td class="desc">Signal declaration </td></tr>
-<tr id="row_0_114_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1signal6.html" target="_self">signal6</a></td><td class="desc">Signal declaration </td></tr>
-<tr id="row_0_115_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1signal7.html" target="_self">signal7</a></td><td class="desc">Signal declaration </td></tr>
-<tr id="row_0_116_" style="display:none;"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span id="arr_0_116_" class="arrow" onclick="toggleFolder('0_116_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1signal_3_01T__return_00_01nil_00_01nil_00_01nil_00_01nil_00_01nil_00_01nil_00_01nil_01_4.html" target="_self">signal< T_return, nil, nil, nil, nil, nil, nil, nil ></a></td><td class="desc">Convenience wrapper for the numbered <a class="el" href="classsigc_1_1signal0.html" title="Signal declaration. ">sigc::signal0</a> template </td></tr>
-<tr id="row_0_116_0_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1signal_3_01T__return_00_01nil_00_01nil_00_01nil_00_01nil_00_01nil_00_01nil_00_01nil_01_4_1_1accumulated.html" target="_self">accumulated</a></td><td class="desc">Convenience wrapper for the numbered <a class="el" href="classsigc_1_1signal0.html" title="Signal declaration. ">sigc::signal0</a> template </td></tr>
-<tr id="row_0_117_" style="display:none;"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span id="arr_0_117_" class="arrow" onclick="toggleFolder('0_117_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1signal_3_01T__return_00_01T__arg1_00_01nil_00_01nil_00_01nil_00_01nil_00_01nil_00_01nil_01_4.html" target="_self">signal< T_return, T_arg1, nil, nil, nil, nil, nil, nil ></a></td><td class="desc">Convenience wrapper for the numbered <a class="el" href="classsigc_1_1signal1.html" title="Signal declaration. ">sigc::signal1</a> template </td></tr>
-<tr id="row_0_117_0_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1signal_3_01T__return_00_01T__arg1_00_01nil_00_01nil_00_01nil_00_01nil_00_01nil_00_01nil_01_4_1_1accumulated.html" target="_self">accumulated</a></td><td class="desc">Convenience wrapper for the numbered <a class="el" href="classsigc_1_1signal1.html" title="Signal declaration. ">sigc::signal1</a> template </td></tr>
-<tr id="row_0_118_" style="display:none;"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span id="arr_0_118_" class="arrow" onclick="toggleFolder('0_118_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1signal_3_01T__return_00_01T__arg1_00_01T__arg2_00_01nil_00_01nil_00_01nil_00_01nil_00_01nil_01_4.html" target="_self">signal< T_return, T_arg1, T_arg2, nil, nil, nil, nil, nil ></a></td><td class="desc">Convenience wrapper for the numbered <a class="el" href="classsigc_1_1signal2.html" title="Signal declaration. ">sigc::signal2</a> template </td></tr>
-<tr id="row_0_118_0_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1signal_3_01T__return_00_01T__arg1_00_01T__arg2_00_01nil_00_01nil_00_01nil_00_01nil_00_01nil_01_4_1_1accumulated.html" target="_self">accumulated</a></td><td class="desc">Convenience wrapper for the numbered <a class="el" href="classsigc_1_1signal2.html" title="Signal declaration. ">sigc::signal2</a> template </td></tr>
-<tr id="row_0_119_" style="display:none;"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span id="arr_0_119_" class="arrow" onclick="toggleFolder('0_119_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1signal_3_01T__return_00_01T__arg1_00_01T__arg2_00_01T__arg3_00_01nil_00_01nil_00_01nil_00_01nil_01_4.html" target="_self">signal< T_return, T_arg1, T_arg2, T_arg3, nil, nil, nil, nil ></a></td><td class="desc">Convenience wrapper for the numbered <a class="el" href="classsigc_1_1signal3.html" title="Signal declaration. ">sigc::signal3</a> template </td></tr>
-<tr id="row_0_119_0_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1signal_3_01T__return_00_01T__arg1_00_01T__arg2_00_01T__arg3_00_01nil_00_01nil_00_01852c349c390cefa04662a850d84c0a94.html" target="_self">accumulated</a></td><td class="desc">Convenience wrapper for the numbered <a class="el" href="classsigc_1_1signal3.html" title="Signal declaration. ">sigc::signal3</a> template </td></tr>
-<tr id="row_0_120_" style="display:none;"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span id="arr_0_120_" class="arrow" onclick="toggleFolder('0_120_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1signal_3_01T__return_00_01T__arg1_00_01T__arg2_00_01T__arg3_00_01T__arg4_00_01nil_00_01nil_00_01nil_01_4.html" target="_self">signal< T_return, T_arg1, T_arg2, T_arg3, T_arg4, nil, nil, nil ></a></td><td class="desc">Convenience wrapper for the numbered <a class="el" href="classsigc_1_1signal4.html" title="Signal declaration. ">sigc::signal4</a> template </td></tr>
-<tr id="row_0_120_0_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1signal_3_01T__return_00_01T__arg1_00_01T__arg2_00_01T__arg3_00_01T__arg4_00_01nil_0d729ce48b1328d982e0ee754652fed04.html" target="_self">accumulated</a></td><td class="desc">Convenience wrapper for the numbered <a class="el" href="classsigc_1_1signal4.html" title="Signal declaration. ">sigc::signal4</a> template </td></tr>
-<tr id="row_0_121_" style="display:none;"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span id="arr_0_121_" class="arrow" onclick="toggleFolder('0_121_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1signal_3_01T__return_00_01T__arg1_00_01T__arg2_00_01T__arg3_00_01T__arg4_00_01T__arg5_00_01nil_00_01nil_01_4.html" target="_self">signal< T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, nil, nil ></a></td><td class="desc">Convenience wrapper for the numbered <a class="el" href="classsigc_1_1signal5.html" title="Signal declaration. ">sigc::signal5</a> template </td></tr>
-<tr id="row_0_121_0_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1signal_3_01T__return_00_01T__arg1_00_01T__arg2_00_01T__arg3_00_01T__arg4_00_01T__arcf6cb51783c363bfae7c4a91d9685109.html" target="_self">accumulated</a></td><td class="desc">Convenience wrapper for the numbered <a class="el" href="classsigc_1_1signal5.html" title="Signal declaration. ">sigc::signal5</a> template </td></tr>
-<tr id="row_0_122_" style="display:none;"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span id="arr_0_122_" class="arrow" onclick="toggleFolder('0_122_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1signal_3_01T__return_00_01T__arg1_00_01T__arg2_00_01T__arg3_00_01T__arg4_00_01T__arg5_00_01T__arg6_00_01nil_01_4.html" target="_self">signal< T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, nil ></a></td><td class="desc">Convenience wrapper for the numbered <a class="el" href="classsigc_1_1signal6.html" title="Signal declaration. ">sigc::signal6</a> template </td></tr>
-<tr id="row_0_122_0_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1signal_3_01T__return_00_01T__arg1_00_01T__arg2_00_01T__arg3_00_01T__arg4_00_01T__are33def4d0c1a12dcbfd220489302db67.html" target="_self">accumulated</a></td><td class="desc">Convenience wrapper for the numbered <a class="el" href="classsigc_1_1signal6.html" title="Signal declaration. ">sigc::signal6</a> template </td></tr>
-<tr id="row_0_123_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsigc_1_1signal__base.html" target="_self">signal_base</a></td><td class="desc">Base class for the <a class="el" href="classsigc_1_1signal.html" title="Convenience wrapper for the numbered sigc::signal# templates. ">sigc::signal</a># templates </td></tr>
-<tr id="row_0_124_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1slot.html" target="_self">slot</a></td><td class="desc">Convenience wrapper for the numbered <a class="el" href="classsigc_1_1slot.html" title="Convenience wrapper for the numbered sigc::slot# templates. ">sigc::slot</a># templates </td></tr>
-<tr id="row_0_125_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1slot0.html" target="_self">slot0</a></td><td class="desc">Converts an arbitrary functor to a unified type which is opaque </td></tr>
-<tr id="row_0_126_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1slot1.html" target="_self">slot1</a></td><td class="desc">Converts an arbitrary functor to a unified type which is opaque </td></tr>
-<tr id="row_0_127_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1slot2.html" target="_self">slot2</a></td><td class="desc">Converts an arbitrary functor to a unified type which is opaque </td></tr>
-<tr id="row_0_128_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1slot3.html" target="_self">slot3</a></td><td class="desc">Converts an arbitrary functor to a unified type which is opaque </td></tr>
-<tr id="row_0_129_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1slot4.html" target="_self">slot4</a></td><td class="desc">Converts an arbitrary functor to a unified type which is opaque </td></tr>
-<tr id="row_0_130_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1slot5.html" target="_self">slot5</a></td><td class="desc">Converts an arbitrary functor to a unified type which is opaque </td></tr>
-<tr id="row_0_131_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1slot6.html" target="_self">slot6</a></td><td class="desc">Converts an arbitrary functor to a unified type which is opaque </td></tr>
-<tr id="row_0_132_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1slot7.html" target="_self">slot7</a></td><td class="desc">Converts an arbitrary functor to a unified type which is opaque </td></tr>
-<tr id="row_0_133_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1slot_3_01T__return_00_01nil_00_01nil_00_01nil_00_01nil_00_01nil_00_01nil_00_01nil_01_4.html" target="_self">slot< T_return, nil, nil, nil, nil, nil, nil, nil ></a></td><td class="desc">Convenience wrapper for the numbered <a class="el" href="classsigc_1_1slot0.html" title="Converts an arbitrary functor to a unified type which is opaque. ">sigc::slot0</a> template </td></tr>
-<tr id="row_0_134_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1slot_3_01T__return_00_01T__arg1_00_01nil_00_01nil_00_01nil_00_01nil_00_01nil_00_01nil_01_4.html" target="_self">slot< T_return, T_arg1, nil, nil, nil, nil, nil, nil ></a></td><td class="desc">Convenience wrapper for the numbered <a class="el" href="classsigc_1_1slot1.html" title="Converts an arbitrary functor to a unified type which is opaque. ">sigc::slot1</a> template </td></tr>
-<tr id="row_0_135_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1slot_3_01T__return_00_01T__arg1_00_01T__arg2_00_01nil_00_01nil_00_01nil_00_01nil_00_01nil_01_4.html" target="_self">slot< T_return, T_arg1, T_arg2, nil, nil, nil, nil, nil ></a></td><td class="desc">Convenience wrapper for the numbered <a class="el" href="classsigc_1_1slot2.html" title="Converts an arbitrary functor to a unified type which is opaque. ">sigc::slot2</a> template </td></tr>
-<tr id="row_0_136_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1slot_3_01T__return_00_01T__arg1_00_01T__arg2_00_01T__arg3_00_01nil_00_01nil_00_01nil_00_01nil_01_4.html" target="_self">slot< T_return, T_arg1, T_arg2, T_arg3, nil, nil, nil, nil ></a></td><td class="desc">Convenience wrapper for the numbered <a class="el" href="classsigc_1_1slot3.html" title="Converts an arbitrary functor to a unified type which is opaque. ">sigc::slot3</a> template </td></tr>
-<tr id="row_0_137_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1slot_3_01T__return_00_01T__arg1_00_01T__arg2_00_01T__arg3_00_01T__arg4_00_01nil_00_01nil_00_01nil_01_4.html" target="_self">slot< T_return, T_arg1, T_arg2, T_arg3, T_arg4, nil, nil, nil ></a></td><td class="desc">Convenience wrapper for the numbered <a class="el" href="classsigc_1_1slot4.html" title="Converts an arbitrary functor to a unified type which is opaque. ">sigc::slot4</a> template </td></tr>
-<tr id="row_0_138_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1slot_3_01T__return_00_01T__arg1_00_01T__arg2_00_01T__arg3_00_01T__arg4_00_01T__arg5_00_01nil_00_01nil_01_4.html" target="_self">slot< T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, nil, nil ></a></td><td class="desc">Convenience wrapper for the numbered <a class="el" href="classsigc_1_1slot5.html" title="Converts an arbitrary functor to a unified type which is opaque. ">sigc::slot5</a> template </td></tr>
-<tr id="row_0_139_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1slot_3_01T__return_00_01T__arg1_00_01T__arg2_00_01T__arg3_00_01T__arg4_00_01T__arg5_00_01T__arg6_00_01nil_01_4.html" target="_self">slot< T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, nil ></a></td><td class="desc">Convenience wrapper for the numbered <a class="el" href="classsigc_1_1slot6.html" title="Converts an arbitrary functor to a unified type which is opaque. ">sigc::slot6</a> template </td></tr>
-<tr id="row_0_140_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1slot__base.html" target="_self">slot_base</a></td><td class="desc">Base type for slots </td></tr>
-<tr id="row_0_141_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsigc_1_1slot__const__iterator.html" target="_self">slot_const_iterator</a></td><td class="desc">STL-style const iterator for <a class="el" href="structsigc_1_1slot__list.html" title="STL-style list interface for sigc::signal#. ">slot_list</a> </td></tr>
-<tr id="row_0_142_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsigc_1_1slot__iterator.html" target="_self">slot_iterator</a></td><td class="desc">STL-style iterator for <a class="el" href="structsigc_1_1slot__list.html" title="STL-style list interface for sigc::signal#. ">slot_list</a> </td></tr>
-<tr id="row_0_143_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsigc_1_1slot__list.html" target="_self">slot_list</a></td><td class="desc">STL-style list interface for <a class="el" href="classsigc_1_1signal.html" title="Convenience wrapper for the numbered sigc::signal# templates. ">sigc::signal</a># </td></tr>
-<tr id="row_0_144_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1track__obj__functor1.html" target="_self">track_obj_functor1</a></td><td class="desc">Track_obj_functor1 wraps a functor and stores a reference to a trackable object </td></tr>
-<tr id="row_0_145_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1track__obj__functor2.html" target="_self">track_obj_functor2</a></td><td class="desc">Track_obj_functor2 wraps a functor and stores 2 references to trackable objects </td></tr>
-<tr id="row_0_146_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1track__obj__functor3.html" target="_self">track_obj_functor3</a></td><td class="desc">Track_obj_functor3 wraps a functor and stores 3 references to trackable objects </td></tr>
-<tr id="row_0_147_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1track__obj__functor4.html" target="_self">track_obj_functor4</a></td><td class="desc">Track_obj_functor4 wraps a functor and stores 4 references to trackable objects </td></tr>
-<tr id="row_0_148_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1track__obj__functor5.html" target="_self">track_obj_functor5</a></td><td class="desc">Track_obj_functor5 wraps a functor and stores 5 references to trackable objects </td></tr>
-<tr id="row_0_149_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1track__obj__functor6.html" target="_self">track_obj_functor6</a></td><td class="desc">Track_obj_functor6 wraps a functor and stores 6 references to trackable objects </td></tr>
-<tr id="row_0_150_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1track__obj__functor7.html" target="_self">track_obj_functor7</a></td><td class="desc">Track_obj_functor7 wraps a functor and stores 7 references to trackable objects </td></tr>
-<tr id="row_0_151_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsigc_1_1trackable.html" target="_self">trackable</a></td><td class="desc">Base class for objects with auto-disconnection </td></tr>
-<tr id="row_0_152_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsigc_1_1type__trait.html" target="_self">type_trait</a></td><td class="desc"></td></tr>
-<tr id="row_0_153_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsigc_1_1type__trait_3_01const_01T__type_01_6_01_4.html" target="_self">type_trait< const T_type& ></a></td><td class="desc"></td></tr>
-<tr id="row_0_154_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsigc_1_1type__trait_3_01T__type_01_6_01_4.html" target="_self">type_trait< T_type& ></a></td><td class="desc"></td></tr>
-<tr id="row_0_155_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsigc_1_1type__trait_3_01T__type[N]_4.html" target="_self">type_trait< T_type[N]></a></td><td class="desc"></td></tr>
-<tr id="row_0_156_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsigc_1_1type__trait_3_01void_01_4.html" target="_self">type_trait< void ></a></td><td class="desc"></td></tr>
-<tr id="row_0_157_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsigc_1_1unwrap__lambda__type.html" target="_self">unwrap_lambda_type</a></td><td class="desc">Deduces the type of the object stored in an object of the passed lambda type </td></tr>
-<tr id="row_0_158_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsigc_1_1unwrap__lambda__type_3_01lambda_3_01T__type_01_4_01_4.html" target="_self">unwrap_lambda_type< lambda< T_type > ></a></td><td class="desc">Deduces the type of the object stored in an object of the passed lambda type </td></tr>
-<tr id="row_0_159_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsigc_1_1unwrap__reference.html" target="_self">unwrap_reference</a></td><td class="desc"></td></tr>
-<tr id="row_0_160_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsigc_1_1unwrap__reference_3_01const__reference__wrapper_3_01T__type_01_4_01_4.html" target="_self">unwrap_reference< const_reference_wrapper< T_type > ></a></td><td class="desc"></td></tr>
-<tr id="row_0_161_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsigc_1_1unwrap__reference_3_01reference__wrapper_3_01T__type_01_4_01_4.html" target="_self">unwrap_reference< reference_wrapper< T_type > ></a></td><td class="desc"></td></tr>
-<tr id="row_0_162_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsigc_1_1visitor.html" target="_self">visitor</a></td><td class="desc">Sigc::visitor<T_functor>::do_visit_each() performs a functor on each of the targets of a functor </td></tr>
-<tr id="row_0_163_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1volatile__limit__reference.html" target="_self">volatile_limit_reference</a></td><td class="desc">A volatile_limit_reference<Foo> object stores a reference (Foo&), but make sure that, if Foo inherits from <a class="el" href="structsigc_1_1trackable.html" title="Base class for objects with auto-disconnection. ">sigc::trackable</a>, then <a class="el" href="group__sigcfunctors.html#ga64cb7832acc1e58efb5ffe0b4f5e9404" title="This function performs a functor on each of the targets of a functor. ">visit_each<>()</a> will "limit" itself to the <a class="el" href="structsigc_1_1trackable.html" title="Base class for objects with auto-disconnection. ">sigc::trackable</a> reference instead of the derived reference </td></tr>
-<tr id="row_0_164_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1volatile__limit__reference_3_01T__type_00_01true_01_4.html" target="_self">volatile_limit_reference< T_type, true ></a></td><td class="desc">Volatile_limit_reference object for a class that derives from trackable </td></tr>
-<tr id="row_0_165_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1volatile__mem__functor0.html" target="_self">volatile_mem_functor0</a></td><td class="desc">Volatile_mem_functor0 wraps volatile methods with 0 argument(s) </td></tr>
-<tr id="row_0_166_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1volatile__mem__functor1.html" target="_self">volatile_mem_functor1</a></td><td class="desc">Volatile_mem_functor1 wraps volatile methods with 1 argument(s) </td></tr>
-<tr id="row_0_167_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1volatile__mem__functor2.html" target="_self">volatile_mem_functor2</a></td><td class="desc">Volatile_mem_functor2 wraps volatile methods with 2 argument(s) </td></tr>
-<tr id="row_0_168_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1volatile__mem__functor3.html" target="_self">volatile_mem_functor3</a></td><td class="desc">Volatile_mem_functor3 wraps volatile methods with 3 argument(s) </td></tr>
-<tr id="row_0_169_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1volatile__mem__functor4.html" target="_self">volatile_mem_functor4</a></td><td class="desc">Volatile_mem_functor4 wraps volatile methods with 4 argument(s) </td></tr>
-<tr id="row_0_170_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1volatile__mem__functor5.html" target="_self">volatile_mem_functor5</a></td><td class="desc">Volatile_mem_functor5 wraps volatile methods with 5 argument(s) </td></tr>
-<tr id="row_0_171_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1volatile__mem__functor6.html" target="_self">volatile_mem_functor6</a></td><td class="desc">Volatile_mem_functor6 wraps volatile methods with 6 argument(s) </td></tr>
-<tr id="row_0_172_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1volatile__mem__functor7.html" target="_self">volatile_mem_functor7</a></td><td class="desc">Volatile_mem_functor7 wraps volatile methods with 7 argument(s) </td></tr>
+<tr id="row_0_45_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1can__deduce__result__type__with__decltype.html" target="_self">can_deduce_result_type_with_decltype</a></td><td class="desc">Helper macro, to determine if decltype() can deduce the result type of a functor </td></tr>
+<tr id="row_0_46_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsigc_1_1compose1__functor.html" target="_self">compose1_functor</a></td><td class="desc">Adaptor that combines two functors </td></tr>
+<tr id="row_0_47_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsigc_1_1compose2__functor.html" target="_self">compose2_functor</a></td><td class="desc">Adaptor that combines three functors </td></tr>
+<tr id="row_0_48_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsigc_1_1connection.html" target="_self">connection</a></td><td class="desc">Convinience class for safe disconnection </td></tr>
+<tr id="row_0_49_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1const__limit__reference.html" target="_self">const_limit_reference</a></td><td class="desc">A const_limit_reference<Foo> object stores a reference (Foo&), but make sure that, if Foo inherits from <a class="el" href="structsigc_1_1trackable.html" title="Base class for objects with auto-disconnection. ">sigc::trackable</a>, then <a class="el" href="group__sigcfunctors.html#ga64cb7832acc1e58efb5ffe0b4f5e9404" title="This function performs a functor on each of the targets of a functor. ">visit_each<>()</a> will "limit" itself to the <a class="el" href="structsigc_1_1trackable.html" title="Base class for objects with auto-disconnection. ">sigc::trackable</a> reference instead of the derived reference </td></tr>
+<tr id="row_0_50_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1const__limit__reference_3_01T__type_00_01true_01_4.html" target="_self">const_limit_reference< T_type, true ></a></td><td class="desc">Const_limit_reference object for a class that derives from trackable </td></tr>
+<tr id="row_0_51_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1const__mem__functor0.html" target="_self">const_mem_functor0</a></td><td class="desc">Const_mem_functor0 wraps const methods with 0 argument(s) </td></tr>
+<tr id="row_0_52_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1const__mem__functor1.html" target="_self">const_mem_functor1</a></td><td class="desc">Const_mem_functor1 wraps const methods with 1 argument(s) </td></tr>
+<tr id="row_0_53_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1const__mem__functor2.html" target="_self">const_mem_functor2</a></td><td class="desc">Const_mem_functor2 wraps const methods with 2 argument(s) </td></tr>
+<tr id="row_0_54_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1const__mem__functor3.html" target="_self">const_mem_functor3</a></td><td class="desc">Const_mem_functor3 wraps const methods with 3 argument(s) </td></tr>
+<tr id="row_0_55_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1const__mem__functor4.html" target="_self">const_mem_functor4</a></td><td class="desc">Const_mem_functor4 wraps const methods with 4 argument(s) </td></tr>
+<tr id="row_0_56_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1const__mem__functor5.html" target="_self">const_mem_functor5</a></td><td class="desc">Const_mem_functor5 wraps const methods with 5 argument(s) </td></tr>
+<tr id="row_0_57_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1const__mem__functor6.html" target="_self">const_mem_functor6</a></td><td class="desc">Const_mem_functor6 wraps const methods with 6 argument(s) </td></tr>
+<tr id="row_0_58_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1const__mem__functor7.html" target="_self">const_mem_functor7</a></td><td class="desc">Const_mem_functor7 wraps const methods with 7 argument(s) </td></tr>
+<tr id="row_0_59_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsigc_1_1const__reference__wrapper.html" target="_self">const_reference_wrapper</a></td><td class="desc">Const reference wrapper </td></tr>
+<tr id="row_0_60_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1const__volatile__limit__reference.html" target="_self">const_volatile_limit_reference</a></td><td class="desc">A const_volatile_limit_reference<Foo> object stores a reference (Foo&), but make sure that, if Foo inherits from <a class="el" href="structsigc_1_1trackable.html" title="Base class for objects with auto-disconnection. ">sigc::trackable</a>, then <a class="el" href="group__sigcfunctors.html#ga64cb7832acc1e58efb5ffe0b4f5e9404" title="This function performs a functor on each of the targets of a functor. ">visit_each<>()</a> will "limit" itself to the <a class="el" href="structsigc_1_1trackable.html" title="Base class for objects with auto-disconnection. ">sigc::trackable</a> reference instead of the derived reference </td></tr>
+<tr id="row_0_61_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1const__volatile__limit__reference_3_01T__type_00_01true_01_4.html" target="_self">const_volatile_limit_reference< T_type, true ></a></td><td class="desc">Const_volatile_limit_reference object for a class that derives from trackable </td></tr>
+<tr id="row_0_62_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1const__volatile__mem__functor0.html" target="_self">const_volatile_mem_functor0</a></td><td class="desc">Const_volatile_mem_functor0 wraps const volatile methods with 0 argument(s) </td></tr>
+<tr id="row_0_63_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1const__volatile__mem__functor1.html" target="_self">const_volatile_mem_functor1</a></td><td class="desc">Const_volatile_mem_functor1 wraps const volatile methods with 1 argument(s) </td></tr>
+<tr id="row_0_64_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1const__volatile__mem__functor2.html" target="_self">const_volatile_mem_functor2</a></td><td class="desc">Const_volatile_mem_functor2 wraps const volatile methods with 2 argument(s) </td></tr>
+<tr id="row_0_65_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1const__volatile__mem__functor3.html" target="_self">const_volatile_mem_functor3</a></td><td class="desc">Const_volatile_mem_functor3 wraps const volatile methods with 3 argument(s) </td></tr>
+<tr id="row_0_66_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1const__volatile__mem__functor4.html" target="_self">const_volatile_mem_functor4</a></td><td class="desc">Const_volatile_mem_functor4 wraps const volatile methods with 4 argument(s) </td></tr>
+<tr id="row_0_67_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1const__volatile__mem__functor5.html" target="_self">const_volatile_mem_functor5</a></td><td class="desc">Const_volatile_mem_functor5 wraps const volatile methods with 5 argument(s) </td></tr>
+<tr id="row_0_68_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1const__volatile__mem__functor6.html" target="_self">const_volatile_mem_functor6</a></td><td class="desc">Const_volatile_mem_functor6 wraps const volatile methods with 6 argument(s) </td></tr>
+<tr id="row_0_69_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1const__volatile__mem__functor7.html" target="_self">const_volatile_mem_functor7</a></td><td class="desc">Const_volatile_mem_functor7 wraps const volatile methods with 7 argument(s) </td></tr>
+<tr id="row_0_70_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsigc_1_1deduce__result__type.html" target="_self">deduce_result_type</a></td><td class="desc">Deduce the return type of a functor </td></tr>
+<tr id="row_0_71_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsigc_1_1exception__catch__functor.html" target="_self">exception_catch_functor</a></td><td class="desc"></td></tr>
+<tr id="row_0_72_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsigc_1_1exception__catch__functor_3_01T__functor_00_01T__catcher_00_01void_01_4.html" target="_self">exception_catch_functor< T_functor, T_catcher, void ></a></td><td class="desc"></td></tr>
+<tr id="row_0_73_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsigc_1_1functor__base.html" target="_self">functor_base</a></td><td class="desc">A hint to the compiler </td></tr>
+<tr id="row_0_74_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsigc_1_1functor__trait.html" target="_self">functor_trait</a></td><td class="desc">Trait that specifies the return type of any type </td></tr>
+<tr id="row_0_75_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsigc_1_1hide__functor.html" target="_self">hide_functor</a></td><td class="desc">Adaptor that adds a dummy parameter to the wrapped functor </td></tr>
+<tr id="row_0_76_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsigc_1_1hide__functor_3_010_00_01T__functor_01_4.html" target="_self">hide_functor< 0, T_functor ></a></td><td class="desc">Adaptor that adds a dummy parameter to the wrapped functor </td></tr>
+<tr id="row_0_77_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsigc_1_1hide__functor_3-1_00_01T__functor_01_4.html" target="_self">hide_functor<-1, T_functor ></a></td><td class="desc">Adaptor that adds a dummy parameter to the wrapped functor </td></tr>
+<tr id="row_0_78_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsigc_1_1is__base__and__derived.html" target="_self">is_base_and_derived</a></td><td class="desc">Compile-time determination of base-class relationship in C++ (adapted to match the syntax of boost's type_traits library) </td></tr>
+<tr id="row_0_79_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsigc_1_1is__base__and__derived_3_01T__base_00_01T__base_01_4.html" target="_self">is_base_and_derived< T_base, T_base ></a></td><td class="desc"></td></tr>
+<tr id="row_0_80_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1limit__reference.html" target="_self">limit_reference</a></td><td class="desc">A limit_reference<Foo> object stores a reference (Foo&), but make sure that, if Foo inherits from <a class="el" href="structsigc_1_1trackable.html" title="Base class for objects with auto-disconnection. ">sigc::trackable</a>, then <a class="el" href="group__sigcfunctors.html#ga64cb7832acc1e58efb5ffe0b4f5e9404" title="This function performs a functor on each of the targets of a functor. ">visit_each<>()</a> will "limit" itself to the <a class="el" href="structsigc_1_1trackable.html" title="Base class for objects with auto-disconnection. ">sigc::trackable</a> reference instead of the derived reference </td></tr>
+<tr id="row_0_81_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1limit__reference_3_01T__type_00_01true_01_4.html" target="_self">limit_reference< T_type, true ></a></td><td class="desc">Limit_reference object for a class that derives from trackable </td></tr>
+<tr id="row_0_82_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1mem__functor0.html" target="_self">mem_functor0</a></td><td class="desc">Mem_functor0 wraps methods with 0 argument(s) </td></tr>
+<tr id="row_0_83_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1mem__functor1.html" target="_self">mem_functor1</a></td><td class="desc">Mem_functor1 wraps methods with 1 argument(s) </td></tr>
+<tr id="row_0_84_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1mem__functor2.html" target="_self">mem_functor2</a></td><td class="desc">Mem_functor2 wraps methods with 2 argument(s) </td></tr>
+<tr id="row_0_85_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1mem__functor3.html" target="_self">mem_functor3</a></td><td class="desc">Mem_functor3 wraps methods with 3 argument(s) </td></tr>
+<tr id="row_0_86_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1mem__functor4.html" target="_self">mem_functor4</a></td><td class="desc">Mem_functor4 wraps methods with 4 argument(s) </td></tr>
+<tr id="row_0_87_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1mem__functor5.html" target="_self">mem_functor5</a></td><td class="desc">Mem_functor5 wraps methods with 5 argument(s) </td></tr>
+<tr id="row_0_88_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1mem__functor6.html" target="_self">mem_functor6</a></td><td class="desc">Mem_functor6 wraps methods with 6 argument(s) </td></tr>
+<tr id="row_0_89_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1mem__functor7.html" target="_self">mem_functor7</a></td><td class="desc">Mem_functor7 wraps methods with 7 argument(s) </td></tr>
+<tr id="row_0_90_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsigc_1_1nil.html" target="_self">nil</a></td><td class="desc">Nil struct type </td></tr>
+<tr id="row_0_91_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1pointer__functor0.html" target="_self">pointer_functor0</a></td><td class="desc">Pointer_functor0 wraps existing non-member functions with 0 argument(s) </td></tr>
+<tr id="row_0_92_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1pointer__functor1.html" target="_self">pointer_functor1</a></td><td class="desc">Pointer_functor1 wraps existing non-member functions with 1 argument(s) </td></tr>
+<tr id="row_0_93_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1pointer__functor2.html" target="_self">pointer_functor2</a></td><td class="desc">Pointer_functor2 wraps existing non-member functions with 2 argument(s) </td></tr>
+<tr id="row_0_94_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1pointer__functor3.html" target="_self">pointer_functor3</a></td><td class="desc">Pointer_functor3 wraps existing non-member functions with 3 argument(s) </td></tr>
+<tr id="row_0_95_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1pointer__functor4.html" target="_self">pointer_functor4</a></td><td class="desc">Pointer_functor4 wraps existing non-member functions with 4 argument(s) </td></tr>
+<tr id="row_0_96_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1pointer__functor5.html" target="_self">pointer_functor5</a></td><td class="desc">Pointer_functor5 wraps existing non-member functions with 5 argument(s) </td></tr>
+<tr id="row_0_97_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1pointer__functor6.html" target="_self">pointer_functor6</a></td><td class="desc">Pointer_functor6 wraps existing non-member functions with 6 argument(s) </td></tr>
+<tr id="row_0_98_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1pointer__functor7.html" target="_self">pointer_functor7</a></td><td class="desc">Pointer_functor7 wraps existing non-member functions with 7 argument(s) </td></tr>
+<tr id="row_0_99_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsigc_1_1reference__wrapper.html" target="_self">reference_wrapper</a></td><td class="desc">Reference wrapper </td></tr>
+<tr id="row_0_100_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsigc_1_1retype__functor.html" target="_self">retype_functor</a></td><td class="desc">Adaptor that performs C-style casts on the parameters passed on to the functor </td></tr>
+<tr id="row_0_101_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsigc_1_1retype__return__functor.html" target="_self">retype_return_functor</a></td><td class="desc">Adaptor that performs a C-style cast on the return value of a functor </td></tr>
+<tr id="row_0_102_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsigc_1_1retype__return__functor_3_01void_00_01T__functor_01_4.html" target="_self">retype_return_functor< void, T_functor ></a></td><td class="desc">Adaptor that performs a C-style cast on the return value of a functor </td></tr>
+<tr id="row_0_103_" style="display:none;"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span id="arr_0_103_" class="arrow" onclick="toggleFolder('0_103_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1signal.html" target="_self">signal</a></td><td class="desc">Convenience wrapper for the numbered <a class="el" href="classsigc_1_1signal.html" title="Convenience wrapper for the numbered sigc::signal# templates. ">sigc::signal</a># templates </td></tr>
+<tr id="row_0_103_0_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1signal_1_1accumulated.html" target="_self">accumulated</a></td><td class="desc">Convenience wrapper for the numbered <a class="el" href="classsigc_1_1signal.html" title="Convenience wrapper for the numbered sigc::signal# templates. ">sigc::signal</a># templates </td></tr>
+<tr id="row_0_104_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1signal0.html" target="_self">signal0</a></td><td class="desc">Signal declaration </td></tr>
+<tr id="row_0_105_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1signal1.html" target="_self">signal1</a></td><td class="desc">Signal declaration </td></tr>
+<tr id="row_0_106_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1signal2.html" target="_self">signal2</a></td><td class="desc">Signal declaration </td></tr>
+<tr id="row_0_107_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1signal3.html" target="_self">signal3</a></td><td class="desc">Signal declaration </td></tr>
+<tr id="row_0_108_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1signal4.html" target="_self">signal4</a></td><td class="desc">Signal declaration </td></tr>
+<tr id="row_0_109_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1signal5.html" target="_self">signal5</a></td><td class="desc">Signal declaration </td></tr>
+<tr id="row_0_110_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1signal6.html" target="_self">signal6</a></td><td class="desc">Signal declaration </td></tr>
+<tr id="row_0_111_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1signal7.html" target="_self">signal7</a></td><td class="desc">Signal declaration </td></tr>
+<tr id="row_0_112_" style="display:none;"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span id="arr_0_112_" class="arrow" onclick="toggleFolder('0_112_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1signal_3_01T__return_00_01nil_00_01nil_00_01nil_00_01nil_00_01nil_00_01nil_00_01nil_01_4.html" target="_self">signal< T_return, nil, nil, nil, nil, nil, nil, nil ></a></td><td class="desc">Convenience wrapper for the numbered <a class="el" href="classsigc_1_1signal0.html" title="Signal declaration. ">sigc::signal0</a> template </td></tr>
+<tr id="row_0_112_0_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1signal_3_01T__return_00_01nil_00_01nil_00_01nil_00_01nil_00_01nil_00_01nil_00_01nil_01_4_1_1accumulated.html" target="_self">accumulated</a></td><td class="desc">Convenience wrapper for the numbered <a class="el" href="classsigc_1_1signal0.html" title="Signal declaration. ">sigc::signal0</a> template </td></tr>
+<tr id="row_0_113_" style="display:none;"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span id="arr_0_113_" class="arrow" onclick="toggleFolder('0_113_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1signal_3_01T__return_00_01T__arg1_00_01nil_00_01nil_00_01nil_00_01nil_00_01nil_00_01nil_01_4.html" target="_self">signal< T_return, T_arg1, nil, nil, nil, nil, nil, nil ></a></td><td class="desc">Convenience wrapper for the numbered <a class="el" href="classsigc_1_1signal1.html" title="Signal declaration. ">sigc::signal1</a> template </td></tr>
+<tr id="row_0_113_0_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1signal_3_01T__return_00_01T__arg1_00_01nil_00_01nil_00_01nil_00_01nil_00_01nil_00_01nil_01_4_1_1accumulated.html" target="_self">accumulated</a></td><td class="desc">Convenience wrapper for the numbered <a class="el" href="classsigc_1_1signal1.html" title="Signal declaration. ">sigc::signal1</a> template </td></tr>
+<tr id="row_0_114_" style="display:none;"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span id="arr_0_114_" class="arrow" onclick="toggleFolder('0_114_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1signal_3_01T__return_00_01T__arg1_00_01T__arg2_00_01nil_00_01nil_00_01nil_00_01nil_00_01nil_01_4.html" target="_self">signal< T_return, T_arg1, T_arg2, nil, nil, nil, nil, nil ></a></td><td class="desc">Convenience wrapper for the numbered <a class="el" href="classsigc_1_1signal2.html" title="Signal declaration. ">sigc::signal2</a> template </td></tr>
+<tr id="row_0_114_0_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1signal_3_01T__return_00_01T__arg1_00_01T__arg2_00_01nil_00_01nil_00_01nil_00_01nil_00_01nil_01_4_1_1accumulated.html" target="_self">accumulated</a></td><td class="desc">Convenience wrapper for the numbered <a class="el" href="classsigc_1_1signal2.html" title="Signal declaration. ">sigc::signal2</a> template </td></tr>
+<tr id="row_0_115_" style="display:none;"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span id="arr_0_115_" class="arrow" onclick="toggleFolder('0_115_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1signal_3_01T__return_00_01T__arg1_00_01T__arg2_00_01T__arg3_00_01nil_00_01nil_00_01nil_00_01nil_01_4.html" target="_self">signal< T_return, T_arg1, T_arg2, T_arg3, nil, nil, nil, nil ></a></td><td class="desc">Convenience wrapper for the numbered <a class="el" href="classsigc_1_1signal3.html" title="Signal declaration. ">sigc::signal3</a> template </td></tr>
+<tr id="row_0_115_0_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1signal_3_01T__return_00_01T__arg1_00_01T__arg2_00_01T__arg3_00_01nil_00_01nil_00_01852c349c390cefa04662a850d84c0a94.html" target="_self">accumulated</a></td><td class="desc">Convenience wrapper for the numbered <a class="el" href="classsigc_1_1signal3.html" title="Signal declaration. ">sigc::signal3</a> template </td></tr>
+<tr id="row_0_116_" style="display:none;"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span id="arr_0_116_" class="arrow" onclick="toggleFolder('0_116_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1signal_3_01T__return_00_01T__arg1_00_01T__arg2_00_01T__arg3_00_01T__arg4_00_01nil_00_01nil_00_01nil_01_4.html" target="_self">signal< T_return, T_arg1, T_arg2, T_arg3, T_arg4, nil, nil, nil ></a></td><td class="desc">Convenience wrapper for the numbered <a class="el" href="classsigc_1_1signal4.html" title="Signal declaration. ">sigc::signal4</a> template </td></tr>
+<tr id="row_0_116_0_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1signal_3_01T__return_00_01T__arg1_00_01T__arg2_00_01T__arg3_00_01T__arg4_00_01nil_0d729ce48b1328d982e0ee754652fed04.html" target="_self">accumulated</a></td><td class="desc">Convenience wrapper for the numbered <a class="el" href="classsigc_1_1signal4.html" title="Signal declaration. ">sigc::signal4</a> template </td></tr>
+<tr id="row_0_117_" style="display:none;"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span id="arr_0_117_" class="arrow" onclick="toggleFolder('0_117_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1signal_3_01T__return_00_01T__arg1_00_01T__arg2_00_01T__arg3_00_01T__arg4_00_01T__arg5_00_01nil_00_01nil_01_4.html" target="_self">signal< T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, nil, nil ></a></td><td class="desc">Convenience wrapper for the numbered <a class="el" href="classsigc_1_1signal5.html" title="Signal declaration. ">sigc::signal5</a> template </td></tr>
+<tr id="row_0_117_0_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1signal_3_01T__return_00_01T__arg1_00_01T__arg2_00_01T__arg3_00_01T__arg4_00_01T__arcf6cb51783c363bfae7c4a91d9685109.html" target="_self">accumulated</a></td><td class="desc">Convenience wrapper for the numbered <a class="el" href="classsigc_1_1signal5.html" title="Signal declaration. ">sigc::signal5</a> template </td></tr>
+<tr id="row_0_118_" style="display:none;"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span id="arr_0_118_" class="arrow" onclick="toggleFolder('0_118_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1signal_3_01T__return_00_01T__arg1_00_01T__arg2_00_01T__arg3_00_01T__arg4_00_01T__arg5_00_01T__arg6_00_01nil_01_4.html" target="_self">signal< T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, nil ></a></td><td class="desc">Convenience wrapper for the numbered <a class="el" href="classsigc_1_1signal6.html" title="Signal declaration. ">sigc::signal6</a> template </td></tr>
+<tr id="row_0_118_0_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1signal_3_01T__return_00_01T__arg1_00_01T__arg2_00_01T__arg3_00_01T__arg4_00_01T__are33def4d0c1a12dcbfd220489302db67.html" target="_self">accumulated</a></td><td class="desc">Convenience wrapper for the numbered <a class="el" href="classsigc_1_1signal6.html" title="Signal declaration. ">sigc::signal6</a> template </td></tr>
+<tr id="row_0_119_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsigc_1_1signal__base.html" target="_self">signal_base</a></td><td class="desc">Base class for the <a class="el" href="classsigc_1_1signal.html" title="Convenience wrapper for the numbered sigc::signal# templates. ">sigc::signal</a># templates </td></tr>
+<tr id="row_0_120_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1slot.html" target="_self">slot</a></td><td class="desc">Convenience wrapper for the numbered <a class="el" href="classsigc_1_1slot.html" title="Convenience wrapper for the numbered sigc::slot# templates. ">sigc::slot</a># templates </td></tr>
+<tr id="row_0_121_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1slot0.html" target="_self">slot0</a></td><td class="desc">Converts an arbitrary functor to a unified type which is opaque </td></tr>
+<tr id="row_0_122_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1slot1.html" target="_self">slot1</a></td><td class="desc">Converts an arbitrary functor to a unified type which is opaque </td></tr>
+<tr id="row_0_123_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1slot2.html" target="_self">slot2</a></td><td class="desc">Converts an arbitrary functor to a unified type which is opaque </td></tr>
+<tr id="row_0_124_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1slot3.html" target="_self">slot3</a></td><td class="desc">Converts an arbitrary functor to a unified type which is opaque </td></tr>
+<tr id="row_0_125_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1slot4.html" target="_self">slot4</a></td><td class="desc">Converts an arbitrary functor to a unified type which is opaque </td></tr>
+<tr id="row_0_126_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1slot5.html" target="_self">slot5</a></td><td class="desc">Converts an arbitrary functor to a unified type which is opaque </td></tr>
+<tr id="row_0_127_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1slot6.html" target="_self">slot6</a></td><td class="desc">Converts an arbitrary functor to a unified type which is opaque </td></tr>
+<tr id="row_0_128_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1slot7.html" target="_self">slot7</a></td><td class="desc">Converts an arbitrary functor to a unified type which is opaque </td></tr>
+<tr id="row_0_129_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1slot_3_01T__return_00_01nil_00_01nil_00_01nil_00_01nil_00_01nil_00_01nil_00_01nil_01_4.html" target="_self">slot< T_return, nil, nil, nil, nil, nil, nil, nil ></a></td><td class="desc">Convenience wrapper for the numbered <a class="el" href="classsigc_1_1slot0.html" title="Converts an arbitrary functor to a unified type which is opaque. ">sigc::slot0</a> template </td></tr>
+<tr id="row_0_130_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1slot_3_01T__return_00_01T__arg1_00_01nil_00_01nil_00_01nil_00_01nil_00_01nil_00_01nil_01_4.html" target="_self">slot< T_return, T_arg1, nil, nil, nil, nil, nil, nil ></a></td><td class="desc">Convenience wrapper for the numbered <a class="el" href="classsigc_1_1slot1.html" title="Converts an arbitrary functor to a unified type which is opaque. ">sigc::slot1</a> template </td></tr>
+<tr id="row_0_131_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1slot_3_01T__return_00_01T__arg1_00_01T__arg2_00_01nil_00_01nil_00_01nil_00_01nil_00_01nil_01_4.html" target="_self">slot< T_return, T_arg1, T_arg2, nil, nil, nil, nil, nil ></a></td><td class="desc">Convenience wrapper for the numbered <a class="el" href="classsigc_1_1slot2.html" title="Converts an arbitrary functor to a unified type which is opaque. ">sigc::slot2</a> template </td></tr>
+<tr id="row_0_132_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1slot_3_01T__return_00_01T__arg1_00_01T__arg2_00_01T__arg3_00_01nil_00_01nil_00_01nil_00_01nil_01_4.html" target="_self">slot< T_return, T_arg1, T_arg2, T_arg3, nil, nil, nil, nil ></a></td><td class="desc">Convenience wrapper for the numbered <a class="el" href="classsigc_1_1slot3.html" title="Converts an arbitrary functor to a unified type which is opaque. ">sigc::slot3</a> template </td></tr>
+<tr id="row_0_133_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1slot_3_01T__return_00_01T__arg1_00_01T__arg2_00_01T__arg3_00_01T__arg4_00_01nil_00_01nil_00_01nil_01_4.html" target="_self">slot< T_return, T_arg1, T_arg2, T_arg3, T_arg4, nil, nil, nil ></a></td><td class="desc">Convenience wrapper for the numbered <a class="el" href="classsigc_1_1slot4.html" title="Converts an arbitrary functor to a unified type which is opaque. ">sigc::slot4</a> template </td></tr>
+<tr id="row_0_134_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1slot_3_01T__return_00_01T__arg1_00_01T__arg2_00_01T__arg3_00_01T__arg4_00_01T__arg5_00_01nil_00_01nil_01_4.html" target="_self">slot< T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, nil, nil ></a></td><td class="desc">Convenience wrapper for the numbered <a class="el" href="classsigc_1_1slot5.html" title="Converts an arbitrary functor to a unified type which is opaque. ">sigc::slot5</a> template </td></tr>
+<tr id="row_0_135_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1slot_3_01T__return_00_01T__arg1_00_01T__arg2_00_01T__arg3_00_01T__arg4_00_01T__arg5_00_01T__arg6_00_01nil_01_4.html" target="_self">slot< T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, nil ></a></td><td class="desc">Convenience wrapper for the numbered <a class="el" href="classsigc_1_1slot6.html" title="Converts an arbitrary functor to a unified type which is opaque. ">sigc::slot6</a> template </td></tr>
+<tr id="row_0_136_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1slot__base.html" target="_self">slot_base</a></td><td class="desc">Base type for slots </td></tr>
+<tr id="row_0_137_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsigc_1_1slot__const__iterator.html" target="_self">slot_const_iterator</a></td><td class="desc">STL-style const iterator for <a class="el" href="structsigc_1_1slot__list.html" title="STL-style list interface for sigc::signal#. ">slot_list</a> </td></tr>
+<tr id="row_0_138_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsigc_1_1slot__iterator.html" target="_self">slot_iterator</a></td><td class="desc">STL-style iterator for <a class="el" href="structsigc_1_1slot__list.html" title="STL-style list interface for sigc::signal#. ">slot_list</a> </td></tr>
+<tr id="row_0_139_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsigc_1_1slot__list.html" target="_self">slot_list</a></td><td class="desc">STL-style list interface for <a class="el" href="classsigc_1_1signal.html" title="Convenience wrapper for the numbered sigc::signal# templates. ">sigc::signal</a># </td></tr>
+<tr id="row_0_140_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1track__obj__functor1.html" target="_self">track_obj_functor1</a></td><td class="desc">Track_obj_functor1 wraps a functor and stores a reference to a trackable object </td></tr>
+<tr id="row_0_141_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1track__obj__functor2.html" target="_self">track_obj_functor2</a></td><td class="desc">Track_obj_functor2 wraps a functor and stores 2 references to trackable objects </td></tr>
+<tr id="row_0_142_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1track__obj__functor3.html" target="_self">track_obj_functor3</a></td><td class="desc">Track_obj_functor3 wraps a functor and stores 3 references to trackable objects </td></tr>
+<tr id="row_0_143_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1track__obj__functor4.html" target="_self">track_obj_functor4</a></td><td class="desc">Track_obj_functor4 wraps a functor and stores 4 references to trackable objects </td></tr>
+<tr id="row_0_144_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1track__obj__functor5.html" target="_self">track_obj_functor5</a></td><td class="desc">Track_obj_functor5 wraps a functor and stores 5 references to trackable objects </td></tr>
+<tr id="row_0_145_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1track__obj__functor6.html" target="_self">track_obj_functor6</a></td><td class="desc">Track_obj_functor6 wraps a functor and stores 6 references to trackable objects </td></tr>
+<tr id="row_0_146_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1track__obj__functor7.html" target="_self">track_obj_functor7</a></td><td class="desc">Track_obj_functor7 wraps a functor and stores 7 references to trackable objects </td></tr>
+<tr id="row_0_147_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsigc_1_1trackable.html" target="_self">trackable</a></td><td class="desc">Base class for objects with auto-disconnection </td></tr>
+<tr id="row_0_148_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsigc_1_1type__trait.html" target="_self">type_trait</a></td><td class="desc"></td></tr>
+<tr id="row_0_149_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsigc_1_1type__trait_3_01const_01T__type_01_6_01_4.html" target="_self">type_trait< const T_type& ></a></td><td class="desc"></td></tr>
+<tr id="row_0_150_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsigc_1_1type__trait_3_01T__type_01_6_01_4.html" target="_self">type_trait< T_type& ></a></td><td class="desc"></td></tr>
+<tr id="row_0_151_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsigc_1_1type__trait_3_01T__type[N]_4.html" target="_self">type_trait< T_type[N]></a></td><td class="desc"></td></tr>
+<tr id="row_0_152_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsigc_1_1type__trait_3_01void_01_4.html" target="_self">type_trait< void ></a></td><td class="desc"></td></tr>
+<tr id="row_0_153_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsigc_1_1unwrap__reference.html" target="_self">unwrap_reference</a></td><td class="desc"></td></tr>
+<tr id="row_0_154_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsigc_1_1unwrap__reference_3_01const__reference__wrapper_3_01T__type_01_4_01_4.html" target="_self">unwrap_reference< const_reference_wrapper< T_type > ></a></td><td class="desc"></td></tr>
+<tr id="row_0_155_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsigc_1_1unwrap__reference_3_01reference__wrapper_3_01T__type_01_4_01_4.html" target="_self">unwrap_reference< reference_wrapper< T_type > ></a></td><td class="desc"></td></tr>
+<tr id="row_0_156_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsigc_1_1visitor.html" target="_self">visitor</a></td><td class="desc">Sigc::visitor<T_functor>::do_visit_each() performs a functor on each of the targets of a functor </td></tr>
+<tr id="row_0_157_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1volatile__limit__reference.html" target="_self">volatile_limit_reference</a></td><td class="desc">A volatile_limit_reference<Foo> object stores a reference (Foo&), but make sure that, if Foo inherits from <a class="el" href="structsigc_1_1trackable.html" title="Base class for objects with auto-disconnection. ">sigc::trackable</a>, then <a class="el" href="group__sigcfunctors.html#ga64cb7832acc1e58efb5ffe0b4f5e9404" title="This function performs a functor on each of the targets of a functor. ">visit_each<>()</a> will "limit" itself to the <a class="el" href="structsigc_1_1trackable.html" title="Base class for objects with auto-disconnection. ">sigc::trackable</a> reference instead of the derived reference </td></tr>
+<tr id="row_0_158_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1volatile__limit__reference_3_01T__type_00_01true_01_4.html" target="_self">volatile_limit_reference< T_type, true ></a></td><td class="desc">Volatile_limit_reference object for a class that derives from trackable </td></tr>
+<tr id="row_0_159_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1volatile__mem__functor0.html" target="_self">volatile_mem_functor0</a></td><td class="desc">Volatile_mem_functor0 wraps volatile methods with 0 argument(s) </td></tr>
+<tr id="row_0_160_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1volatile__mem__functor1.html" target="_self">volatile_mem_functor1</a></td><td class="desc">Volatile_mem_functor1 wraps volatile methods with 1 argument(s) </td></tr>
+<tr id="row_0_161_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1volatile__mem__functor2.html" target="_self">volatile_mem_functor2</a></td><td class="desc">Volatile_mem_functor2 wraps volatile methods with 2 argument(s) </td></tr>
+<tr id="row_0_162_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1volatile__mem__functor3.html" target="_self">volatile_mem_functor3</a></td><td class="desc">Volatile_mem_functor3 wraps volatile methods with 3 argument(s) </td></tr>
+<tr id="row_0_163_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1volatile__mem__functor4.html" target="_self">volatile_mem_functor4</a></td><td class="desc">Volatile_mem_functor4 wraps volatile methods with 4 argument(s) </td></tr>
+<tr id="row_0_164_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1volatile__mem__functor5.html" target="_self">volatile_mem_functor5</a></td><td class="desc">Volatile_mem_functor5 wraps volatile methods with 5 argument(s) </td></tr>
+<tr id="row_0_165_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1volatile__mem__functor6.html" target="_self">volatile_mem_functor6</a></td><td class="desc">Volatile_mem_functor6 wraps volatile methods with 6 argument(s) </td></tr>
+<tr id="row_0_166_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1volatile__mem__functor7.html" target="_self">volatile_mem_functor7</a></td><td class="desc">Volatile_mem_functor7 wraps volatile methods with 7 argument(s) </td></tr>
</table>
</div><!-- directory -->
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
<tr><td rowspan="2" valign="bottom"><a name="letter_c"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  c  </div></td></tr></table>
</td></tr>
<tr></tr>
+<tr><td valign="top"><a class="el" href="classsigc_1_1can__deduce__result__type__with__decltype.html">can_deduce_result_type_with_decltype</a> (<a class="el" href="namespacesigc.html">sigc</a>)   </td></tr>
<tr><td valign="top"><a class="el" href="structsigc_1_1compose1__functor.html">compose1_functor</a> (<a class="el" href="namespacesigc.html">sigc</a>)   </td></tr>
<tr><td valign="top"><a class="el" href="structsigc_1_1compose2__functor.html">compose2_functor</a> (<a class="el" href="namespacesigc.html">sigc</a>)   </td></tr>
<tr><td valign="top"><a class="el" href="structsigc_1_1connection.html">connection</a> (<a class="el" href="namespacesigc.html">sigc</a>)   </td></tr>
<tr><td rowspan="2" valign="bottom"><a name="letter_l"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  l  </div></td></tr></table>
</td></tr>
<tr></tr>
-<tr><td valign="top"><a class="el" href="structsigc_1_1lambda.html">lambda</a> (<a class="el" href="namespacesigc.html">sigc</a>)   </td></tr>
-<tr><td valign="top"><a class="el" href="structsigc_1_1lambda__base.html">lambda_base</a> (<a class="el" href="namespacesigc.html">sigc</a>)   </td></tr>
-<tr><td valign="top"><a class="el" href="structsigc_1_1lambda__group1.html">lambda_group1</a> (<a class="el" href="namespacesigc.html">sigc</a>)   </td></tr>
-<tr><td valign="top"><a class="el" href="structsigc_1_1lambda__group2.html">lambda_group2</a> (<a class="el" href="namespacesigc.html">sigc</a>)   </td></tr>
-<tr><td valign="top"><a class="el" href="structsigc_1_1lambda__group3.html">lambda_group3</a> (<a class="el" href="namespacesigc.html">sigc</a>)   </td></tr>
<tr><td valign="top"><a class="el" href="classsigc_1_1limit__reference.html">limit_reference</a> (<a class="el" href="namespacesigc.html">sigc</a>)   </td></tr>
<tr><td valign="top"><a class="el" href="classsigc_1_1limit__reference_3_01T__type_00_01true_01_4.html">limit_reference< T_type, true ></a> (<a class="el" href="namespacesigc.html">sigc</a>)   </td></tr>
<tr><td rowspan="2" valign="bottom"><a name="letter_m"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  m  </div></td></tr></table>
<tr><td rowspan="2" valign="bottom"><a name="letter_u"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  u  </div></td></tr></table>
</td></tr>
<tr></tr>
-<tr><td valign="top"><a class="el" href="structsigc_1_1unwrap__lambda__type.html">unwrap_lambda_type</a> (<a class="el" href="namespacesigc.html">sigc</a>)   </td></tr>
-<tr><td valign="top"><a class="el" href="structsigc_1_1unwrap__lambda__type_3_01lambda_3_01T__type_01_4_01_4.html">unwrap_lambda_type< lambda< T_type > ></a> (<a class="el" href="namespacesigc.html">sigc</a>)   </td></tr>
<tr><td valign="top"><a class="el" href="structsigc_1_1unwrap__reference.html">unwrap_reference</a> (<a class="el" href="namespacesigc.html">sigc</a>)   </td></tr>
<tr><td valign="top"><a class="el" href="structsigc_1_1unwrap__reference_3_01const__reference__wrapper_3_01T__type_01_4_01_4.html">unwrap_reference< const_reference_wrapper< T_type > ></a> (<a class="el" href="namespacesigc.html">sigc</a>)   </td></tr>
<tr><td valign="top"><a class="el" href="structsigc_1_1unwrap__reference_3_01reference__wrapper_3_01T__type_01_4_01_4.html">unwrap_reference< reference_wrapper< T_type > ></a> (<a class="el" href="namespacesigc.html">sigc</a>)   </td></tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:28 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:28 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:28 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:28 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:28 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:28 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:28 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:28 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:28 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:28 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:28 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:28 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:28 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:28 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:28 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:28 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:28 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:28 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:28 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:28 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:28 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:28 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:28 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:28 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:28 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:28 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:28 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:28 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:28 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:28 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:28 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:28 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:28 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:28 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:28 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:28 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:28 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:28 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:28 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:28 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:28 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:28 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:28 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:28 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:28 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:28 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:28 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:28 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:28 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:28 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
--- /dev/null
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.9.1"/>
+<title>libsigc++: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="doxygen-extra.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">libsigc++
+  <span id="projectnumber">2.5.1</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.9.1 -->
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main Page</span></a></li>
+ <li><a href="pages.html"><span>Related Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow2" class="tabs2">
+ <ul class="tablist">
+ <li><a href="annotated.html"><span>Class List</span></a></li>
+ <li><a href="classes.html"><span>Class Index</span></a></li>
+ <li><a href="inherits.html"><span>Class Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class Members</span></a></li>
+ </ul>
+ </div>
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="namespacesigc.html">sigc</a></li><li class="navelem"><a class="el" href="classsigc_1_1can__deduce__result__type__with__decltype.html">can_deduce_result_type_with_decltype</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle">
+<div class="title">sigc::can_deduce_result_type_with_decltype< T_functor > Member List</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classsigc_1_1can__deduce__result__type__with__decltype.html">sigc::can_deduce_result_type_with_decltype< T_functor ></a>, including all inherited members.</p>
+<table class="directory">
+ <tr class="even"><td class="entry"><a class="el" href="classsigc_1_1can__deduce__result__type__with__decltype.html#a3e390d22fe03a03bb34bb38bca1aea91">value</a></td><td class="entry"><a class="el" href="classsigc_1_1can__deduce__result__type__with__decltype.html">sigc::can_deduce_result_type_with_decltype< T_functor ></a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.9.1
+</small></address>
+</body>
+</html>
--- /dev/null
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.9.1"/>
+<title>libsigc++: sigc::can_deduce_result_type_with_decltype< T_functor > Class Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="doxygen-extra.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">libsigc++
+  <span id="projectnumber">2.5.1</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.9.1 -->
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main Page</span></a></li>
+ <li><a href="pages.html"><span>Related Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow2" class="tabs2">
+ <ul class="tablist">
+ <li><a href="annotated.html"><span>Class List</span></a></li>
+ <li><a href="classes.html"><span>Class Index</span></a></li>
+ <li><a href="inherits.html"><span>Class Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class Members</span></a></li>
+ </ul>
+ </div>
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="namespacesigc.html">sigc</a></li><li class="navelem"><a class="el" href="classsigc_1_1can__deduce__result__type__with__decltype.html">can_deduce_result_type_with_decltype</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="summary">
+<a href="#nested-classes">Classes</a> |
+<a href="#pub-static-attribs">Static Public Attributes</a> |
+<a href="classsigc_1_1can__deduce__result__type__with__decltype-members.html">List of all members</a> </div>
+ <div class="headertitle">
+<div class="title">sigc::can_deduce_result_type_with_decltype< T_functor > Class Template Reference<div class="ingroups"><a class="el" href="group__sigcfunctors.html">Functors</a></div></div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Helper macro, to determine if decltype() can deduce the result type of a functor.
+ <a href="classsigc_1_1can__deduce__result__type__with__decltype.html#details">More...</a></p>
+
+<p><code>#include <sigc++/functors/functor_trait.h></code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-attribs"></a>
+Static Public Attributes</h2></td></tr>
+<tr class="memitem:a3e390d22fe03a03bb34bb38bca1aea91"><td class="memItemLeft" align="right" valign="top">static const bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classsigc_1_1can__deduce__result__type__with__decltype.html#a3e390d22fe03a03bb34bb38bca1aea91">value</a></td></tr>
+<tr class="separator:a3e390d22fe03a03bb34bb38bca1aea91"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><h3>template<typename T_functor><br />
+class sigc::can_deduce_result_type_with_decltype< T_functor ></h3>
+
+<p>Helper macro, to determine if decltype() can deduce the result type of a functor. </p>
+</div><h2 class="groupheader">Member Data Documentation</h2>
+<a class="anchor" id="a3e390d22fe03a03bb34bb38bca1aea91"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template <typename T_functor > </div>
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">const bool <a class="el" href="classsigc_1_1can__deduce__result__type__with__decltype.html">sigc::can_deduce_result_type_with_decltype</a>< T_functor >::value</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.9.1
+</small></address>
+</body>
+</html>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
<p>Add a slot to the list of slots. </p>
<p>Any functor or slot may be passed into <a class="el" href="classsigc_1_1signal0.html#a609b1e0770f47c9081a3de56b65314d2" title="Add a slot to the list of slots. ">connect()</a>. It will be converted into a slot implicitly. 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 implicitly converted into a <a class="el" href="structsigc_1_1connection.html" title="Convinience class for safe disconnection. ">sigc::connection</a> object that may be used safely beyond the life time of the slot.</p>
<p>std::function<> and C++11 lambda expressions are functors. These are examples of functors that can be connected to a signal.</p>
-<p>std::bind() creates a functor, but this functor typically has an operator()() which is a variadic template. <a class="el" href="group__sigcfunctors.html#gadf1ba3cacb09cc5c3c3e399836ec6e50" title="Helper macro, if you want to mix user-defined and third party functors with libsigc++. ">SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE</a> can't deduce the result type of such a functor. If you first assign the return value of std::bind() to a std::function, you can connect the std::function to a signal.</p>
+<p>std::bind() creates a functor, but this functor typically has an operator()() which is a variadic template. Our <a class="el" href="structsigc_1_1functor__trait.html" title="Trait that specifies the return type of any type. ">functor_trait</a> can't deduce the result type of such a functor. If you first assign the return value of std::bind() to a std::function, you can connect the std::function to a signal.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">slot_</td><td>The slot to add to the list of slots. </td></tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
<p>Add a slot to the list of slots. </p>
<p>Any functor or slot may be passed into <a class="el" href="classsigc_1_1signal1.html#aac2ade0896bd4a982777d5dd6ac75888" title="Add a slot to the list of slots. ">connect()</a>. It will be converted into a slot implicitly. 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 implicitly converted into a <a class="el" href="structsigc_1_1connection.html" title="Convinience class for safe disconnection. ">sigc::connection</a> object that may be used safely beyond the life time of the slot.</p>
<p>std::function<> and C++11 lambda expressions are functors. These are examples of functors that can be connected to a signal.</p>
-<p>std::bind() creates a functor, but this functor typically has an operator()() which is a variadic template. <a class="el" href="group__sigcfunctors.html#gadf1ba3cacb09cc5c3c3e399836ec6e50" title="Helper macro, if you want to mix user-defined and third party functors with libsigc++. ">SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE</a> can't deduce the result type of such a functor. If you first assign the return value of std::bind() to a std::function, you can connect the std::function to a signal.</p>
+<p>std::bind() creates a functor, but this functor typically has an operator()() which is a variadic template. Our <a class="el" href="structsigc_1_1functor__trait.html" title="Trait that specifies the return type of any type. ">functor_trait</a> can't deduce the result type of such a functor. If you first assign the return value of std::bind() to a std::function, you can connect the std::function to a signal.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">slot_</td><td>The slot to add to the list of slots. </td></tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
<p>Add a slot to the list of slots. </p>
<p>Any functor or slot may be passed into <a class="el" href="classsigc_1_1signal2.html#aa686af4f961b098a23d4f7276437c2b0" title="Add a slot to the list of slots. ">connect()</a>. It will be converted into a slot implicitly. 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 implicitly converted into a <a class="el" href="structsigc_1_1connection.html" title="Convinience class for safe disconnection. ">sigc::connection</a> object that may be used safely beyond the life time of the slot.</p>
<p>std::function<> and C++11 lambda expressions are functors. These are examples of functors that can be connected to a signal.</p>
-<p>std::bind() creates a functor, but this functor typically has an operator()() which is a variadic template. <a class="el" href="group__sigcfunctors.html#gadf1ba3cacb09cc5c3c3e399836ec6e50" title="Helper macro, if you want to mix user-defined and third party functors with libsigc++. ">SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE</a> can't deduce the result type of such a functor. If you first assign the return value of std::bind() to a std::function, you can connect the std::function to a signal.</p>
+<p>std::bind() creates a functor, but this functor typically has an operator()() which is a variadic template. Our <a class="el" href="structsigc_1_1functor__trait.html" title="Trait that specifies the return type of any type. ">functor_trait</a> can't deduce the result type of such a functor. If you first assign the return value of std::bind() to a std::function, you can connect the std::function to a signal.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">slot_</td><td>The slot to add to the list of slots. </td></tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
<p>Add a slot to the list of slots. </p>
<p>Any functor or slot may be passed into <a class="el" href="classsigc_1_1signal3.html#a3eae0b3796b2736be847f33a5124aacd" title="Add a slot to the list of slots. ">connect()</a>. It will be converted into a slot implicitly. 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 implicitly converted into a <a class="el" href="structsigc_1_1connection.html" title="Convinience class for safe disconnection. ">sigc::connection</a> object that may be used safely beyond the life time of the slot.</p>
<p>std::function<> and C++11 lambda expressions are functors. These are examples of functors that can be connected to a signal.</p>
-<p>std::bind() creates a functor, but this functor typically has an operator()() which is a variadic template. <a class="el" href="group__sigcfunctors.html#gadf1ba3cacb09cc5c3c3e399836ec6e50" title="Helper macro, if you want to mix user-defined and third party functors with libsigc++. ">SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE</a> can't deduce the result type of such a functor. If you first assign the return value of std::bind() to a std::function, you can connect the std::function to a signal.</p>
+<p>std::bind() creates a functor, but this functor typically has an operator()() which is a variadic template. Our <a class="el" href="structsigc_1_1functor__trait.html" title="Trait that specifies the return type of any type. ">functor_trait</a> can't deduce the result type of such a functor. If you first assign the return value of std::bind() to a std::function, you can connect the std::function to a signal.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">slot_</td><td>The slot to add to the list of slots. </td></tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
<p>Add a slot to the list of slots. </p>
<p>Any functor or slot may be passed into <a class="el" href="classsigc_1_1signal4.html#a5fdb6df3cf74f5c96fb6319eef4d0a39" title="Add a slot to the list of slots. ">connect()</a>. It will be converted into a slot implicitly. 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 implicitly converted into a <a class="el" href="structsigc_1_1connection.html" title="Convinience class for safe disconnection. ">sigc::connection</a> object that may be used safely beyond the life time of the slot.</p>
<p>std::function<> and C++11 lambda expressions are functors. These are examples of functors that can be connected to a signal.</p>
-<p>std::bind() creates a functor, but this functor typically has an operator()() which is a variadic template. <a class="el" href="group__sigcfunctors.html#gadf1ba3cacb09cc5c3c3e399836ec6e50" title="Helper macro, if you want to mix user-defined and third party functors with libsigc++. ">SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE</a> can't deduce the result type of such a functor. If you first assign the return value of std::bind() to a std::function, you can connect the std::function to a signal.</p>
+<p>std::bind() creates a functor, but this functor typically has an operator()() which is a variadic template. Our <a class="el" href="structsigc_1_1functor__trait.html" title="Trait that specifies the return type of any type. ">functor_trait</a> can't deduce the result type of such a functor. If you first assign the return value of std::bind() to a std::function, you can connect the std::function to a signal.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">slot_</td><td>The slot to add to the list of slots. </td></tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
<p>Add a slot to the list of slots. </p>
<p>Any functor or slot may be passed into <a class="el" href="classsigc_1_1signal5.html#a057789cc27a920700e240f8f3d78dd65" title="Add a slot to the list of slots. ">connect()</a>. It will be converted into a slot implicitly. 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 implicitly converted into a <a class="el" href="structsigc_1_1connection.html" title="Convinience class for safe disconnection. ">sigc::connection</a> object that may be used safely beyond the life time of the slot.</p>
<p>std::function<> and C++11 lambda expressions are functors. These are examples of functors that can be connected to a signal.</p>
-<p>std::bind() creates a functor, but this functor typically has an operator()() which is a variadic template. <a class="el" href="group__sigcfunctors.html#gadf1ba3cacb09cc5c3c3e399836ec6e50" title="Helper macro, if you want to mix user-defined and third party functors with libsigc++. ">SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE</a> can't deduce the result type of such a functor. If you first assign the return value of std::bind() to a std::function, you can connect the std::function to a signal.</p>
+<p>std::bind() creates a functor, but this functor typically has an operator()() which is a variadic template. Our <a class="el" href="structsigc_1_1functor__trait.html" title="Trait that specifies the return type of any type. ">functor_trait</a> can't deduce the result type of such a functor. If you first assign the return value of std::bind() to a std::function, you can connect the std::function to a signal.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">slot_</td><td>The slot to add to the list of slots. </td></tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
<p>Add a slot to the list of slots. </p>
<p>Any functor or slot may be passed into <a class="el" href="classsigc_1_1signal6.html#a66c302607cf4fb74f5d3352f9c394c9b" title="Add a slot to the list of slots. ">connect()</a>. It will be converted into a slot implicitly. 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 implicitly converted into a <a class="el" href="structsigc_1_1connection.html" title="Convinience class for safe disconnection. ">sigc::connection</a> object that may be used safely beyond the life time of the slot.</p>
<p>std::function<> and C++11 lambda expressions are functors. These are examples of functors that can be connected to a signal.</p>
-<p>std::bind() creates a functor, but this functor typically has an operator()() which is a variadic template. <a class="el" href="group__sigcfunctors.html#gadf1ba3cacb09cc5c3c3e399836ec6e50" title="Helper macro, if you want to mix user-defined and third party functors with libsigc++. ">SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE</a> can't deduce the result type of such a functor. If you first assign the return value of std::bind() to a std::function, you can connect the std::function to a signal.</p>
+<p>std::bind() creates a functor, but this functor typically has an operator()() which is a variadic template. Our <a class="el" href="structsigc_1_1functor__trait.html" title="Trait that specifies the return type of any type. ">functor_trait</a> can't deduce the result type of such a functor. If you first assign the return value of std::bind() to a std::function, you can connect the std::function to a signal.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">slot_</td><td>The slot to add to the list of slots. </td></tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
<p>Add a slot to the list of slots. </p>
<p>Any functor or slot may be passed into <a class="el" href="classsigc_1_1signal7.html#adc55ac9b0f935fd87a67904022e03cb2" title="Add a slot to the list of slots. ">connect()</a>. It will be converted into a slot implicitly. 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 implicitly converted into a <a class="el" href="structsigc_1_1connection.html" title="Convinience class for safe disconnection. ">sigc::connection</a> object that may be used safely beyond the life time of the slot.</p>
<p>std::function<> and C++11 lambda expressions are functors. These are examples of functors that can be connected to a signal.</p>
-<p>std::bind() creates a functor, but this functor typically has an operator()() which is a variadic template. <a class="el" href="group__sigcfunctors.html#gadf1ba3cacb09cc5c3c3e399836ec6e50" title="Helper macro, if you want to mix user-defined and third party functors with libsigc++. ">SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE</a> can't deduce the result type of such a functor. If you first assign the return value of std::bind() to a std::function, you can connect the std::function to a signal.</p>
+<p>std::bind() creates a functor, but this functor typically has an operator()() which is a variadic template. Our <a class="el" href="structsigc_1_1functor__trait.html" title="Trait that specifies the return type of any type. ">functor_trait</a> can't deduce the result type of such a functor. If you first assign the return value of std::bind() to a std::function, you can connect the std::function to a signal.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">slot_</td><td>The slot to add to the list of slots. </td></tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!--header-->
<div class="contents">
<div class="textblock"><dl class="reflist">
-<dt><a class="anchor" id="_deprecated000018"></a>Module <a class="el" href="group__group__.html">group_</a> </dt>
-<dd>Use C++11 lambda expressions or std::bind() instead. </dd>
-<dt><a class="anchor" id="_deprecated000001"></a>Module <a class="el" href="group__lambdas.html">lambdas</a> </dt>
-<dd>Use C++11 lambda expressions or std::bind() instead. </dd>
-<dt><a class="anchor" id="_deprecated000024"></a>Member <a class="el" href="group__lambdas.html#ga993b22c0e13eb536edd9bcc3afd6d949">sigc::group</a> (const T_functor& _A_func, T_type1 _A_1, T_type2 _A_2, T_type3 _A_3)</dt>
-<dd>Use C++11 lambda expressions or std::bind() instead. </dd>
-<dt><a class="anchor" id="_deprecated000022"></a>Member <a class="el" href="group__lambdas.html#ga56a5905d189af5fab33d8c456f097a29">sigc::group</a> (const T_functor& _A_func, T_type1 _A_1)</dt>
-<dd>Use C++11 lambda expressions or std::bind() instead. </dd>
-<dt><a class="anchor" id="_deprecated000023"></a>Member <a class="el" href="group__lambdas.html#gaadbc8eaf9aa10213c228b53e69f3fead">sigc::group</a> (const T_functor& _A_func, T_type1 _A_1, T_type2 _A_2)</dt>
-<dd>Use C++11 lambda expressions or std::bind() instead. </dd>
-<dt><a class="anchor" id="_deprecated000006"></a>Class <a class="el" href="structsigc_1_1lambda.html">sigc::lambda< T_type ></a> </dt>
-<dd>Use C++11 lambda expressions instead. </dd>
-<dt><a class="anchor" id="_deprecated000002"></a>Class <a class="el" href="structsigc_1_1lambda__base.html">sigc::lambda_base</a> </dt>
-<dd>Use C++11 lambda expressions instead. </dd>
-<dt><a class="anchor" id="_deprecated000019"></a>Class <a class="el" href="structsigc_1_1lambda__group1.html">sigc::lambda_group1< T_functor, T_type1 ></a> </dt>
-<dd>Use C++11 lambda expressions or std::bind() instead. </dd>
-<dt><a class="anchor" id="_deprecated000020"></a>Class <a class="el" href="structsigc_1_1lambda__group2.html">sigc::lambda_group2< T_functor, T_type1, T_type2 ></a> </dt>
-<dd>Use C++11 lambda expressions or std::bind() instead. </dd>
-<dt><a class="anchor" id="_deprecated000021"></a>Class <a class="el" href="structsigc_1_1lambda__group3.html">sigc::lambda_group3< T_functor, T_type1, T_type2, T_type3 ></a> </dt>
-<dd>Use C++11 lambda expressions or std::bind() instead. </dd>
-<dt><a class="anchor" id="_deprecated000010"></a> Class <a class="el" href="structsigc_1_1unwrap__lambda__type_3_01lambda_3_01T__type_01_4_01_4.html">sigc::unwrap_lambda_type< lambda< T_type > ></a> </dt>
-<dd>Use C++11 lambda expressions instead of libsigc++ lambdas. </dd>
-<dt><a class="anchor" id="_deprecated000009"></a>Class <a class="el" href="structsigc_1_1unwrap__lambda__type.html">sigc::unwrap_lambda_type< T_type ></a> </dt>
-<dd>Use C++11 lambda expressions instead of libsigc++ lambdas. </dd>
-<dt><a class="anchor" id="_deprecated000003"></a>Member <a class="el" href="group__lambdas.html#ga5fbbd890bbed369b5a77ef375a34ab47">sigc::unwrap_lambda_value</a> (T_type& a)</dt>
-<dd>Use C++11 lambda expressions instead of libsigc++ lambdas. </dd>
-<dt><a class="anchor" id="_deprecated000004"></a>Member <a class="el" href="group__lambdas.html#ga23fcae89c45fa2f28ed2ed421b2249ca">sigc::unwrap_lambda_value</a> (const T_type& a)</dt>
-<dd>Use C++11 lambda expressions instead of libsigc++ lambdas. </dd>
-<dt><a class="anchor" id="_deprecated000005"></a>Member <a class="el" href="group__lambdas.html#ga075ab6d364e385be8ff683fb6c24151f">sigc::unwrap_lambda_value</a> (const lambda< T_type >& a)</dt>
-<dd>Use C++11 lambda expressions instead of libsigc++ lambdas. </dd>
-<dt><a class="anchor" id="_deprecated000007"></a>Member <a class="el" href="group__lambdas.html#ga8e560e6113af0c1e9f462471c1d502d4">sigc::var</a> (T_type& v)</dt>
-<dd>Use C++11 lambda expressions instead of libsigc++ lambdas. </dd>
-<dt><a class="anchor" id="_deprecated000008"></a>Member <a class="el" href="group__lambdas.html#ga5c51a04bb54990fe3d508fa06e574249">sigc::var</a> (const T_type& v)</dt>
-<dd>Use C++11 lambda expressions instead of libsigc++ lambdas.</dd>
+<dt><a class="anchor" id="_deprecated000001"></a>globalScope> Member <a class="el" href="group__sigcfunctors.html#gadf1ba3cacb09cc5c3c3e399836ec6e50">SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE</a> </dt>
+<dd>This macro does nothing. The test it activated in libsigc++ versions before 2.6, is now unconditionally activated.</dd>
</dl>
</div></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:28 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="subdirs"></a>
-Directories</h2></td></tr>
-<tr class="memitem:dir_ea4abdd77c05d5873cecf571a6d96de7"><td class="memItemLeft" align="right" valign="top">directory  </td><td class="memItemRight" valign="bottom"><a class="el" href="dir_ea4abdd77c05d5873cecf571a6d96de7.html">lambda</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
Files</h2></td></tr>
<tr class="memitem:adaptor__trait_8h"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>adaptor_trait.h</b></td></tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
+++ /dev/null
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.9.1"/>
-<title>libsigc++: sigc++/adaptors/lambda Directory Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-<link href="doxygen-extra.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.9.1 -->
- <div id="navrow1" class="tabs">
- <ul class="tablist">
- <li><a href="index.html"><span>Main Page</span></a></li>
- <li><a href="pages.html"><span>Related Pages</span></a></li>
- <li><a href="modules.html"><span>Modules</span></a></li>
- <li><a href="namespaces.html"><span>Namespaces</span></a></li>
- <li><a href="annotated.html"><span>Classes</span></a></li>
- </ul>
- </div>
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5c02128c554eaa40138b2e605fc08970.html">sigc++</a></li><li class="navelem"><a class="el" href="dir_0bd3c8d814eb03171de012519d7a2ccd.html">adaptors</a></li><li class="navelem"><a class="el" href="dir_ea4abdd77c05d5873cecf571a6d96de7.html">lambda</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">lambda Directory Reference</div> </div>
-</div><!--header-->
-<div class="contents">
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
-Files</h2></td></tr>
-<tr class="memitem:base_8h"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>base.h</b></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:group_8h"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>group.h</b></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:lambda_8h"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>lambda.h</b></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:operator_8h"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>operator.h</b></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:select_8h"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>select.h</b></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-</table>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.9.1
-</small></address>
-</body>
-</html>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
<li>front()
: <a class="el" href="structsigc_1_1slot__list.html#abcd398b9cb6fe9506e548d121081163a">sigc::slot_list< T_slot ></a>
</li>
-<li>func_
-: <a class="el" href="structsigc_1_1lambda__group1.html#ac11cb4cd0685ce3745bf438bb59006e4">sigc::lambda_group1< T_functor, T_type1 ></a>
-, <a class="el" href="structsigc_1_1lambda__group2.html#a81d504b21b2eb7821975e34e91bf702d">sigc::lambda_group2< T_functor, T_type1, T_type2 ></a>
-, <a class="el" href="structsigc_1_1lambda__group3.html#ae5bd70216dc26c2328c0cf08353bc06f">sigc::lambda_group3< T_functor, T_type1, T_type2, T_type3 ></a>
-</li>
<li>func_destroy_notify
: <a class="el" href="classsigc_1_1slot__base.html#a7e1a0c2fe43a42187810e8997abeb341">sigc::slot_base</a>
, <a class="el" href="structsigc_1_1trackable.html#a3338954d7565534bd945290b798e13ed">sigc::trackable</a>
<li>functor_type
: <a class="el" href="structsigc_1_1adaptor__trait_3_01T__functor_00_01false_01_4.html#acb1a7066d665d00e2525c49d089efc0f">sigc::adaptor_trait< T_functor, false ></a>
, <a class="el" href="structsigc_1_1adaptor__trait_3_01T__functor_00_01true_01_4.html#ae065e339af2abe58cad43d630328240f">sigc::adaptor_trait< T_functor, true ></a>
-, <a class="el" href="structsigc_1_1functor__trait.html#aaa889e97aa5a7a6af00f500df7d143e9">sigc::functor_trait< T_functor, I_derives_functor_base ></a>
-, <a class="el" href="structsigc_1_1lambda__group1.html#a33608fda37bc84ec8a336f9d52d4924e">sigc::lambda_group1< T_functor, T_type1 ></a>
-, <a class="el" href="structsigc_1_1lambda__group2.html#a97ac691a597ef2063a4d0c53b99c28c5">sigc::lambda_group2< T_functor, T_type1, T_type2 ></a>
-, <a class="el" href="structsigc_1_1lambda__group3.html#a33feec6b2637fb5bea3f7a7f7c6e2142">sigc::lambda_group3< T_functor, T_type1, T_type2, T_type3 ></a>
+, <a class="el" href="structsigc_1_1functor__trait.html#ac779b3d3d04e78d57b6b2ae4545b1667">sigc::functor_trait< T_functor, I_derives_functor_base, I_can_use_decltype ></a>
</li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
 
<h3><a class="anchor" id="index_l"></a>- l -</h3><ul>
-<li>lambda()
-: <a class="el" href="structsigc_1_1lambda.html#a98c9c8c66727f22d6f53358d48ddd949">sigc::lambda< T_type ></a>
-</li>
-<li>lambda_group1()
-: <a class="el" href="structsigc_1_1lambda__group1.html#a306d752cc63d4ad177b30da0072b1ff6">sigc::lambda_group1< T_functor, T_type1 ></a>
-</li>
-<li>lambda_group2()
-: <a class="el" href="structsigc_1_1lambda__group2.html#a2d29af15fc0cbad49c426753e9d218e4">sigc::lambda_group2< T_functor, T_type1, T_type2 ></a>
-</li>
-<li>lambda_group3()
-: <a class="el" href="structsigc_1_1lambda__group3.html#a10f0e874c01605f803f80e106eb49691">sigc::lambda_group3< T_functor, T_type1, T_type2, T_type3 ></a>
-</li>
<li>limit_reference()
: <a class="el" href="classsigc_1_1limit__reference.html#a58bf17e1eaa63d86336c831fa885bc66">sigc::limit_reference< T_type, I_derives_trackable ></a>
, <a class="el" href="classsigc_1_1limit__reference_3_01T__type_00_01true_01_4.html#a26ef98ef1f11a4b5891d426e9722c2c8">sigc::limit_reference< T_type, true ></a>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
, <a class="el" href="classsigc_1_1bound__volatile__mem__functor6.html#a8f826c208d2cb84e687c508e671b0eb3">sigc::bound_volatile_mem_functor6< T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6 ></a>
, <a class="el" href="classsigc_1_1bound__volatile__mem__functor7.html#abb41ad4fced6ba1de91d0ffbb58fe2de">sigc::bound_volatile_mem_functor7< T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7 ></a>
, <a class="el" href="structsigc_1_1compose1__functor.html#ae7c074e7656595157b0f421028e34609">sigc::compose1_functor< T_setter, T_getter ></a>
-, <a class="el" href="structsigc_1_1compose2__functor.html#a3cfcfa7d8d95962b3448ed886f3495a0">sigc::compose2_functor< T_setter, T_getter1, T_getter2 ></a>
+, <a class="el" href="structsigc_1_1compose2__functor.html#a048e0ff176de0813c190279afd7e16dd">sigc::compose2_functor< T_setter, T_getter1, T_getter2 ></a>
, <a class="el" href="classsigc_1_1const__mem__functor0.html#a261a8a2fc4fca25717ee0d50a0a718c2">sigc::const_mem_functor0< T_return, T_obj ></a>
, <a class="el" href="classsigc_1_1const__mem__functor1.html#a4acc3a59eee797f199988ff5f80d53ae">sigc::const_mem_functor1< T_return, T_obj, T_arg1 ></a>
-, <a class="el" href="classsigc_1_1const__mem__functor2.html#a9da6633c6aa91f86ce986967566747b6">sigc::const_mem_functor2< T_return, T_obj, T_arg1, T_arg2 ></a>
+, <a class="el" href="classsigc_1_1const__mem__functor2.html#a6441206062146d43a0e72be48519ae02">sigc::const_mem_functor2< T_return, T_obj, T_arg1, T_arg2 ></a>
, <a class="el" href="classsigc_1_1const__mem__functor3.html#ad8def027881b5a6047b9839177dbe85c">sigc::const_mem_functor3< T_return, T_obj, T_arg1, T_arg2, T_arg3 ></a>
, <a class="el" href="classsigc_1_1const__mem__functor4.html#a60f0358e32bbf1b96c086d53d87ec2c7">sigc::const_mem_functor4< T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4 ></a>
, <a class="el" href="classsigc_1_1const__mem__functor5.html#a248914dce1045bca14ba45f7b8ab7a9f">sigc::const_mem_functor5< T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5 ></a>
, <a class="el" href="classsigc_1_1const__volatile__mem__functor5.html#a62883651028686628f903c2f56f2edf7">sigc::const_volatile_mem_functor5< T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5 ></a>
, <a class="el" href="classsigc_1_1const__volatile__mem__functor6.html#ae438dd9368f1b10004b6d51b599c2376">sigc::const_volatile_mem_functor6< T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6 ></a>
, <a class="el" href="classsigc_1_1const__volatile__mem__functor7.html#ad2e699425411b243ac92bbd81f88f607">sigc::const_volatile_mem_functor7< T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7 ></a>
-, <a class="el" href="structsigc_1_1exception__catch__functor.html#a9f6b5068be1af2623e2aef727f2b73db">sigc::exception_catch_functor< T_functor, T_catcher, T_return ></a>
-, <a class="el" href="structsigc_1_1exception__catch__functor_3_01T__functor_00_01T__catcher_00_01void_01_4.html#a24e842daf8e8d756e2b77ceb47c55c14">sigc::exception_catch_functor< T_functor, T_catcher, void ></a>
-, <a class="el" href="structsigc_1_1hide__functor_3_010_00_01T__functor_01_4.html#a5390f82ac4049f2a22ef1f4896a508dd">sigc::hide_functor< 0, T_functor ></a>
+, <a class="el" href="structsigc_1_1exception__catch__functor.html#a5472e0c6cdc3e9f0994bcd6676e7ed0f">sigc::exception_catch_functor< T_functor, T_catcher, T_return ></a>
+, <a class="el" href="structsigc_1_1exception__catch__functor_3_01T__functor_00_01T__catcher_00_01void_01_4.html#a4c24ffa31304c0647b0d29cba07ffe3a">sigc::exception_catch_functor< T_functor, T_catcher, void ></a>
+, <a class="el" href="structsigc_1_1hide__functor_3_010_00_01T__functor_01_4.html#a556774f196a4ec5569e8404ba8ae1539">sigc::hide_functor< 0, T_functor ></a>
, <a class="el" href="structsigc_1_1hide__functor_3-1_00_01T__functor_01_4.html#a0b2aed34c7b1c58fc9735ec4578bd6c2">sigc::hide_functor<-1, T_functor ></a>
-, <a class="el" href="structsigc_1_1lambda__group1.html#a1eb3b797403d8164c4bfb55107f4d60f">sigc::lambda_group1< T_functor, T_type1 ></a>
-, <a class="el" href="structsigc_1_1lambda__group2.html#a2ff6da0bfb93be36b2b5c4d1e6b1529e">sigc::lambda_group2< T_functor, T_type1, T_type2 ></a>
-, <a class="el" href="structsigc_1_1lambda__group3.html#a9fda2de19e0c1c70d76fc3c569fb8970">sigc::lambda_group3< T_functor, T_type1, T_type2, T_type3 ></a>
, <a class="el" href="classsigc_1_1mem__functor0.html#a5b9327e3a0f2f7df91394614f704ddc6">sigc::mem_functor0< T_return, T_obj ></a>
, <a class="el" href="classsigc_1_1mem__functor1.html#a72c4e7ffd730381bbb842f3b72816d02">sigc::mem_functor1< T_return, T_obj, T_arg1 ></a>
, <a class="el" href="classsigc_1_1mem__functor2.html#a1ef9d5e58e8333fc9a812d2f9a9a99fb">sigc::mem_functor2< T_return, T_obj, T_arg1, T_arg2 ></a>
, <a class="el" href="classsigc_1_1pointer__functor5.html#a14f326f46993aea1013256a307b954d0">sigc::pointer_functor5< T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_return ></a>
, <a class="el" href="classsigc_1_1pointer__functor6.html#a93455713ca148bff6f50ec6578235357">sigc::pointer_functor6< T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_return ></a>
, <a class="el" href="classsigc_1_1pointer__functor7.html#a3c6940094b0f84e8818d55cb6e21a1b1">sigc::pointer_functor7< T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7, T_return ></a>
-, <a class="el" href="structsigc_1_1retype__functor.html#a841d7fd2ae795ca4decccca8342e231c">sigc::retype_functor< T_functor, T_type1, T_type2, T_type3, T_type4, T_type5, T_type6, T_type7 ></a>
+, <a class="el" href="structsigc_1_1retype__functor.html#a07b219886709df138ea695049f446215">sigc::retype_functor< T_functor, T_type1, T_type2, T_type3, T_type4, T_type5, T_type6, T_type7 ></a>
, <a class="el" href="structsigc_1_1retype__return__functor.html#a4cf9725b7ac4fdfeded4ab3f56d61a88">sigc::retype_return_functor< T_return, T_functor ></a>
-, <a class="el" href="structsigc_1_1retype__return__functor_3_01void_00_01T__functor_01_4.html#adb392f4717b522668eb5236dbaf48e68">sigc::retype_return_functor< void, T_functor ></a>
+, <a class="el" href="structsigc_1_1retype__return__functor_3_01void_00_01T__functor_01_4.html#a73a475fd2fe5e4d9e184ca5092b0ced4">sigc::retype_return_functor< void, T_functor ></a>
, <a class="el" href="classsigc_1_1signal0.html#ab9012529a34abee9c62beacb7b790411">sigc::signal0< T_return, T_accumulator ></a>
, <a class="el" href="classsigc_1_1signal1.html#a5f150c88559aacf13edd07bd7917c96a">sigc::signal1< T_return, T_arg1, T_accumulator ></a>
, <a class="el" href="classsigc_1_1signal2.html#abd0c26d0af75ee365d5f02d01a8584d8">sigc::signal2< T_return, T_arg1, T_arg2, T_accumulator ></a>
, <a class="el" href="classsigc_1_1slot5.html#a2c05f974b6c5c8b59b2a5259ace5e1c7">sigc::slot5< T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5 ></a>
, <a class="el" href="classsigc_1_1slot6.html#a5eb35859b00d0a210dd73a8834345331">sigc::slot6< T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6 ></a>
, <a class="el" href="classsigc_1_1slot7.html#a115f4dc171664e693a6bb7afc41778d4">sigc::slot7< T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7 ></a>
-, <a class="el" href="classsigc_1_1track__obj__functor1.html#a610d215dd82c2a3112aef9bb29edd856">sigc::track_obj_functor1< T_functor, T_obj1 ></a>
-, <a class="el" href="classsigc_1_1volatile__mem__functor0.html#ac2ed0440b58d9ed7fa7113036a021e92">sigc::volatile_mem_functor0< T_return, T_obj ></a>
-, <a class="el" href="classsigc_1_1volatile__mem__functor1.html#ab229ce1bb3609e465e809eb5dfc47428">sigc::volatile_mem_functor1< T_return, T_obj, T_arg1 ></a>
+, <a class="el" href="classsigc_1_1track__obj__functor1.html#a933452a80a7c98d4865624d2f60b2527">sigc::track_obj_functor1< T_functor, T_obj1 ></a>
+, <a class="el" href="classsigc_1_1volatile__mem__functor0.html#a7c2d0b553da010a5a0578a91269a290e">sigc::volatile_mem_functor0< T_return, T_obj ></a>
+, <a class="el" href="classsigc_1_1volatile__mem__functor1.html#a93ca215c5cbfc6e9bef44e38f3635fe9">sigc::volatile_mem_functor1< T_return, T_obj, T_arg1 ></a>
, <a class="el" href="classsigc_1_1volatile__mem__functor2.html#ae8c368143fecb49457733234a34f5aae">sigc::volatile_mem_functor2< T_return, T_obj, T_arg1, T_arg2 ></a>
-, <a class="el" href="classsigc_1_1volatile__mem__functor3.html#a68c2811c3b5b69a92e7c3eda6ddf9ba2">sigc::volatile_mem_functor3< T_return, T_obj, T_arg1, T_arg2, T_arg3 ></a>
+, <a class="el" href="classsigc_1_1volatile__mem__functor3.html#af88d0cde1beb833e0e391052cf75098f">sigc::volatile_mem_functor3< T_return, T_obj, T_arg1, T_arg2, T_arg3 ></a>
, <a class="el" href="classsigc_1_1volatile__mem__functor4.html#aecefbb7c869d5f66c1b6d679ed49c082">sigc::volatile_mem_functor4< T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4 ></a>
-, <a class="el" href="classsigc_1_1volatile__mem__functor5.html#aba561797354b09741648c975c402eef8">sigc::volatile_mem_functor5< T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5 ></a>
+, <a class="el" href="classsigc_1_1volatile__mem__functor5.html#a36dc06ac5b66e8bec977153741718456">sigc::volatile_mem_functor5< T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5 ></a>
, <a class="el" href="classsigc_1_1volatile__mem__functor6.html#a0e8695404c80f8a83ef3762a5b7af784">sigc::volatile_mem_functor6< T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6 ></a>
-, <a class="el" href="classsigc_1_1volatile__mem__functor7.html#a655613b259953a8e0de21e557b402ce1">sigc::volatile_mem_functor7< T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7 ></a>
+, <a class="el" href="classsigc_1_1volatile__mem__functor7.html#a87b4cf73bd422a42294c0ffc199d6f50">sigc::volatile_mem_functor7< T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7 ></a>
</li>
<li>operator*()
: <a class="el" href="structsigc_1_1slot__const__iterator.html#a753b4afd409883f47af264dfb8a3d28a">sigc::slot_const_iterator< T_slot ></a>
</li>
<li>operator--()
: <a class="el" href="structsigc_1_1slot__const__iterator.html#a9ece84f63e078754915dcc6dc6ee1cc4">sigc::slot_const_iterator< T_slot ></a>
-, <a class="el" href="structsigc_1_1slot__iterator.html#a8aeef4e41dc0930beaa8d6a37b27775c">sigc::slot_iterator< T_slot ></a>
+, <a class="el" href="structsigc_1_1slot__iterator.html#afd2ebfa71c2df96290f2bce0746d6fa5">sigc::slot_iterator< T_slot ></a>
</li>
<li>operator->()
: <a class="el" href="structsigc_1_1slot__const__iterator.html#ad22e3311d946a52c698cd93af796cff8">sigc::slot_const_iterator< T_slot ></a>
</li>
<li>operator=()
: <a class="el" href="structsigc_1_1connection.html#a016094b53bafdc9ce593febb68cb00a5">sigc::connection</a>
-, <a class="el" href="structsigc_1_1lambda.html#aa49660a600600aa81efce5b6abfe5972">sigc::lambda< T_type ></a>
, <a class="el" href="structsigc_1_1signal__base.html#a90b36a7b33e107ce0af0de895e0df286">sigc::signal_base</a>
, <a class="el" href="classsigc_1_1slot0.html#a49bba0540dcc76fb19e49d19a1acd563">sigc::slot0< T_return ></a>
, <a class="el" href="classsigc_1_1slot1.html#a2e0d65cfc434718b6c5f7d7135ac384e">sigc::slot1< T_return, T_arg1 ></a>
: <a class="el" href="structsigc_1_1slot__const__iterator.html#a610aaac1dde93014ed62a563e89bb46a">sigc::slot_const_iterator< T_slot ></a>
, <a class="el" href="structsigc_1_1slot__iterator.html#afccca03555b8185635ab4b9e29f75ae3">sigc::slot_iterator< T_slot ></a>
</li>
-<li>operator[]()
-: <a class="el" href="structsigc_1_1lambda.html#a8c3c0659edeb1fdd4108e03be8ba0345">sigc::lambda< T_type ></a>
-</li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
<div class="textblock">Here is a list of all class members with links to the classes they belong to:</div>
<h3><a class="anchor" id="index_l"></a>- l -</h3><ul>
-<li>lambda()
-: <a class="el" href="structsigc_1_1lambda.html#a98c9c8c66727f22d6f53358d48ddd949">sigc::lambda< T_type ></a>
-</li>
-<li>lambda_group1()
-: <a class="el" href="structsigc_1_1lambda__group1.html#a306d752cc63d4ad177b30da0072b1ff6">sigc::lambda_group1< T_functor, T_type1 ></a>
-</li>
-<li>lambda_group2()
-: <a class="el" href="structsigc_1_1lambda__group2.html#a2d29af15fc0cbad49c426753e9d218e4">sigc::lambda_group2< T_functor, T_type1, T_type2 ></a>
-</li>
-<li>lambda_group3()
-: <a class="el" href="structsigc_1_1lambda__group3.html#a10f0e874c01605f803f80e106eb49691">sigc::lambda_group3< T_functor, T_type1, T_type2, T_type3 ></a>
-</li>
<li>limit_reference()
: <a class="el" href="classsigc_1_1limit__reference.html#a58bf17e1eaa63d86336c831fa885bc66">sigc::limit_reference< T_type, I_derives_trackable ></a>
, <a class="el" href="classsigc_1_1limit__reference_3_01T__type_00_01true_01_4.html#a26ef98ef1f11a4b5891d426e9722c2c8">sigc::limit_reference< T_type, true ></a>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
, <a class="el" href="classsigc_1_1const__volatile__mem__functor0.html#a99a36e65fb849aa0a5ea277c9fc3c218">sigc::const_volatile_mem_functor0< T_return, T_obj ></a>
, <a class="el" href="classsigc_1_1const__volatile__mem__functor1.html#a87ba42e130f905664e2e432e309f9012">sigc::const_volatile_mem_functor1< T_return, T_obj, T_arg1 ></a>
, <a class="el" href="classsigc_1_1const__volatile__mem__functor2.html#a7557c17658489f19d12945a5296e8f35">sigc::const_volatile_mem_functor2< T_return, T_obj, T_arg1, T_arg2 ></a>
-, <a class="el" href="classsigc_1_1const__volatile__mem__functor3.html#a9f2eeebf6464149555d975edce9c0a1c">sigc::const_volatile_mem_functor3< T_return, T_obj, T_arg1, T_arg2, T_arg3 ></a>
+, <a class="el" href="classsigc_1_1const__volatile__mem__functor3.html#a0fe691de309e7409de98f047ed38a9e7">sigc::const_volatile_mem_functor3< T_return, T_obj, T_arg1, T_arg2, T_arg3 ></a>
, <a class="el" href="classsigc_1_1const__volatile__mem__functor4.html#a6b3ab51515480fe4c106461c609aa778">sigc::const_volatile_mem_functor4< T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4 ></a>
, <a class="el" href="classsigc_1_1const__volatile__mem__functor5.html#a62883651028686628f903c2f56f2edf7">sigc::const_volatile_mem_functor5< T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5 ></a>
, <a class="el" href="classsigc_1_1const__volatile__mem__functor6.html#ae438dd9368f1b10004b6d51b599c2376">sigc::const_volatile_mem_functor6< T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6 ></a>
, <a class="el" href="classsigc_1_1const__volatile__mem__functor7.html#ad2e699425411b243ac92bbd81f88f607">sigc::const_volatile_mem_functor7< T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7 ></a>
-, <a class="el" href="structsigc_1_1exception__catch__functor.html#a5bb82bbe1b0491cd5c53680eb5cd6b03">sigc::exception_catch_functor< T_functor, T_catcher, T_return ></a>
+, <a class="el" href="structsigc_1_1exception__catch__functor.html#a9f6b5068be1af2623e2aef727f2b73db">sigc::exception_catch_functor< T_functor, T_catcher, T_return ></a>
, <a class="el" href="structsigc_1_1exception__catch__functor_3_01T__functor_00_01T__catcher_00_01void_01_4.html#a1eb6fb5783d65d904474f6ffe14ace7b">sigc::exception_catch_functor< T_functor, T_catcher, void ></a>
, <a class="el" href="structsigc_1_1hide__functor_3_010_00_01T__functor_01_4.html#a556774f196a4ec5569e8404ba8ae1539">sigc::hide_functor< 0, T_functor ></a>
, <a class="el" href="structsigc_1_1hide__functor_3-1_00_01T__functor_01_4.html#a3ab506b688835f9545dc018142cc728e">sigc::hide_functor<-1, T_functor ></a>
-, <a class="el" href="structsigc_1_1lambda__group1.html#adba4263bed98048c83b986959155c78e">sigc::lambda_group1< T_functor, T_type1 ></a>
-, <a class="el" href="structsigc_1_1lambda__group2.html#aaba8dea339e534f2383cf83f7877a3d0">sigc::lambda_group2< T_functor, T_type1, T_type2 ></a>
-, <a class="el" href="structsigc_1_1lambda__group3.html#a0d42748af9f046a92e13078fd6de1af4">sigc::lambda_group3< T_functor, T_type1, T_type2, T_type3 ></a>
-, <a class="el" href="classsigc_1_1mem__functor0.html#a3d083ed9bc066718a9d6970be5a07b6e">sigc::mem_functor0< T_return, T_obj ></a>
+, <a class="el" href="classsigc_1_1mem__functor0.html#a5b9327e3a0f2f7df91394614f704ddc6">sigc::mem_functor0< T_return, T_obj ></a>
, <a class="el" href="classsigc_1_1mem__functor1.html#a72c4e7ffd730381bbb842f3b72816d02">sigc::mem_functor1< T_return, T_obj, T_arg1 ></a>
, <a class="el" href="classsigc_1_1mem__functor2.html#a1ef9d5e58e8333fc9a812d2f9a9a99fb">sigc::mem_functor2< T_return, T_obj, T_arg1, T_arg2 ></a>
, <a class="el" href="classsigc_1_1mem__functor3.html#a83ad80686392272239adf599a9772ada">sigc::mem_functor3< T_return, T_obj, T_arg1, T_arg2, T_arg3 ></a>
, <a class="el" href="classsigc_1_1pointer__functor5.html#a14f326f46993aea1013256a307b954d0">sigc::pointer_functor5< T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_return ></a>
, <a class="el" href="classsigc_1_1pointer__functor6.html#a93455713ca148bff6f50ec6578235357">sigc::pointer_functor6< T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_return ></a>
, <a class="el" href="classsigc_1_1pointer__functor7.html#a3c6940094b0f84e8818d55cb6e21a1b1">sigc::pointer_functor7< T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7, T_return ></a>
-, <a class="el" href="structsigc_1_1retype__functor.html#a6207061ea5a530ca3d37459200ef6864">sigc::retype_functor< T_functor, T_type1, T_type2, T_type3, T_type4, T_type5, T_type6, T_type7 ></a>
-, <a class="el" href="structsigc_1_1retype__return__functor.html#a741b3fd8c423d3e63bdefa810e65ef44">sigc::retype_return_functor< T_return, T_functor ></a>
-, <a class="el" href="structsigc_1_1retype__return__functor_3_01void_00_01T__functor_01_4.html#af181f5a8134c5a834e2ad0ed7590fbfe">sigc::retype_return_functor< void, T_functor ></a>
+, <a class="el" href="structsigc_1_1retype__functor.html#a66717878d5c0f2a4cb568c8ff622cb97">sigc::retype_functor< T_functor, T_type1, T_type2, T_type3, T_type4, T_type5, T_type6, T_type7 ></a>
+, <a class="el" href="structsigc_1_1retype__return__functor.html#ab6c4d0b29bbcbca2e64db8249db54171">sigc::retype_return_functor< T_return, T_functor ></a>
+, <a class="el" href="structsigc_1_1retype__return__functor_3_01void_00_01T__functor_01_4.html#af0c3d23d0216aa0631720eb00ca8f7ef">sigc::retype_return_functor< void, T_functor ></a>
, <a class="el" href="classsigc_1_1signal0.html#ab9012529a34abee9c62beacb7b790411">sigc::signal0< T_return, T_accumulator ></a>
, <a class="el" href="classsigc_1_1signal1.html#a5f150c88559aacf13edd07bd7917c96a">sigc::signal1< T_return, T_arg1, T_accumulator ></a>
, <a class="el" href="classsigc_1_1signal2.html#abd0c26d0af75ee365d5f02d01a8584d8">sigc::signal2< T_return, T_arg1, T_arg2, T_accumulator ></a>
, <a class="el" href="classsigc_1_1slot5.html#a2c05f974b6c5c8b59b2a5259ace5e1c7">sigc::slot5< T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5 ></a>
, <a class="el" href="classsigc_1_1slot6.html#a5eb35859b00d0a210dd73a8834345331">sigc::slot6< T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6 ></a>
, <a class="el" href="classsigc_1_1slot7.html#a115f4dc171664e693a6bb7afc41778d4">sigc::slot7< T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7 ></a>
-, <a class="el" href="classsigc_1_1track__obj__functor1.html#a94fba99da25a041007a4f2f07b19c784">sigc::track_obj_functor1< T_functor, T_obj1 ></a>
-, <a class="el" href="classsigc_1_1volatile__mem__functor0.html#a7c2d0b553da010a5a0578a91269a290e">sigc::volatile_mem_functor0< T_return, T_obj ></a>
+, <a class="el" href="classsigc_1_1track__obj__functor1.html#a758ed994bc823ce29001873838384ac0">sigc::track_obj_functor1< T_functor, T_obj1 ></a>
+, <a class="el" href="classsigc_1_1volatile__mem__functor0.html#ac2ed0440b58d9ed7fa7113036a021e92">sigc::volatile_mem_functor0< T_return, T_obj ></a>
, <a class="el" href="classsigc_1_1volatile__mem__functor1.html#ab229ce1bb3609e465e809eb5dfc47428">sigc::volatile_mem_functor1< T_return, T_obj, T_arg1 ></a>
, <a class="el" href="classsigc_1_1volatile__mem__functor2.html#a10aa8d2d17a83d18d0470986ffe7591e">sigc::volatile_mem_functor2< T_return, T_obj, T_arg1, T_arg2 ></a>
, <a class="el" href="classsigc_1_1volatile__mem__functor3.html#af88d0cde1beb833e0e391052cf75098f">sigc::volatile_mem_functor3< T_return, T_obj, T_arg1, T_arg2, T_arg3 ></a>
, <a class="el" href="classsigc_1_1volatile__mem__functor4.html#aecefbb7c869d5f66c1b6d679ed49c082">sigc::volatile_mem_functor4< T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4 ></a>
-, <a class="el" href="classsigc_1_1volatile__mem__functor5.html#a36dc06ac5b66e8bec977153741718456">sigc::volatile_mem_functor5< T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5 ></a>
-, <a class="el" href="classsigc_1_1volatile__mem__functor6.html#af65315e6db00c73289a0d522b74c80c9">sigc::volatile_mem_functor6< T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6 ></a>
+, <a class="el" href="classsigc_1_1volatile__mem__functor5.html#aba561797354b09741648c975c402eef8">sigc::volatile_mem_functor5< T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5 ></a>
+, <a class="el" href="classsigc_1_1volatile__mem__functor6.html#a0e8695404c80f8a83ef3762a5b7af784">sigc::volatile_mem_functor6< T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6 ></a>
, <a class="el" href="classsigc_1_1volatile__mem__functor7.html#a87b4cf73bd422a42294c0ffc199d6f50">sigc::volatile_mem_functor7< T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7 ></a>
</li>
<li>operator*()
, <a class="el" href="structsigc_1_1slot__iterator.html#af5a3b852c1c6e8f69c41f64a17204758">sigc::slot_iterator< T_slot ></a>
</li>
<li>operator--()
-: <a class="el" href="structsigc_1_1slot__const__iterator.html#a1c1d7d7798914c80d6a60d87c4b24c0a">sigc::slot_const_iterator< T_slot ></a>
-, <a class="el" href="structsigc_1_1slot__iterator.html#afd2ebfa71c2df96290f2bce0746d6fa5">sigc::slot_iterator< T_slot ></a>
+: <a class="el" href="structsigc_1_1slot__const__iterator.html#a9ece84f63e078754915dcc6dc6ee1cc4">sigc::slot_const_iterator< T_slot ></a>
+, <a class="el" href="structsigc_1_1slot__iterator.html#a8aeef4e41dc0930beaa8d6a37b27775c">sigc::slot_iterator< T_slot ></a>
</li>
<li>operator->()
: <a class="el" href="structsigc_1_1slot__const__iterator.html#ad22e3311d946a52c698cd93af796cff8">sigc::slot_const_iterator< T_slot ></a>
</li>
<li>operator=()
: <a class="el" href="structsigc_1_1connection.html#adee4ffd4b1669b4726fd9afc36330c14">sigc::connection</a>
-, <a class="el" href="structsigc_1_1lambda.html#aa49660a600600aa81efce5b6abfe5972">sigc::lambda< T_type ></a>
, <a class="el" href="structsigc_1_1signal__base.html#a90b36a7b33e107ce0af0de895e0df286">sigc::signal_base</a>
, <a class="el" href="classsigc_1_1slot0.html#a49bba0540dcc76fb19e49d19a1acd563">sigc::slot0< T_return ></a>
, <a class="el" href="classsigc_1_1slot1.html#a2e0d65cfc434718b6c5f7d7135ac384e">sigc::slot1< T_return, T_arg1 ></a>
: <a class="el" href="structsigc_1_1slot__const__iterator.html#a610aaac1dde93014ed62a563e89bb46a">sigc::slot_const_iterator< T_slot ></a>
, <a class="el" href="structsigc_1_1slot__iterator.html#afccca03555b8185635ab4b9e29f75ae3">sigc::slot_iterator< T_slot ></a>
</li>
-<li>operator[]()
-: <a class="el" href="structsigc_1_1lambda.html#a8c3c0659edeb1fdd4108e03be8ba0345">sigc::lambda< T_type ></a>
-</li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
, <a class="el" href="classsigc_1_1const__volatile__mem__functor7.html#a25cb7e6ed71406c5b91ab2696ad8e623">sigc::const_volatile_mem_functor7< T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7 ></a>
, <a class="el" href="structsigc_1_1exception__catch__functor.html#a498f5575ae283594cfe03288fab54fdf">sigc::exception_catch_functor< T_functor, T_catcher, T_return ></a>
, <a class="el" href="structsigc_1_1exception__catch__functor_3_01T__functor_00_01T__catcher_00_01void_01_4.html#a06506e0d4da26682740b7f4f9aec80d5">sigc::exception_catch_functor< T_functor, T_catcher, void ></a>
-, <a class="el" href="structsigc_1_1functor__trait.html#a90c4188e1d98bdf394d77a3b1b1c065f">sigc::functor_trait< T_functor, I_derives_functor_base ></a>
+, <a class="el" href="structsigc_1_1functor__trait.html#af1324bf0d3cec3d1f2e39e932b228d6d">sigc::functor_trait< T_functor, I_derives_functor_base, I_can_use_decltype ></a>
, <a class="el" href="structsigc_1_1hide__functor_3_010_00_01T__functor_01_4.html#af5b5ee49bb277471b5bc8e3769d0dcb7">sigc::hide_functor< 0, T_functor ></a>
, <a class="el" href="structsigc_1_1hide__functor_3-1_00_01T__functor_01_4.html#a72ea0ce5ad7cf4f9e0e7b160d830c5a4">sigc::hide_functor<-1, T_functor ></a>
-, <a class="el" href="structsigc_1_1lambda__group1.html#ac602edad96df05d967b6a5c4936f0ac8">sigc::lambda_group1< T_functor, T_type1 ></a>
-, <a class="el" href="structsigc_1_1lambda__group2.html#acedf5bd987b41b0a975aece3f91562c6">sigc::lambda_group2< T_functor, T_type1, T_type2 ></a>
-, <a class="el" href="structsigc_1_1lambda__group3.html#afb1ec9fdf67e5c37df9f94381e662322">sigc::lambda_group3< T_functor, T_type1, T_type2, T_type3 ></a>
, <a class="el" href="classsigc_1_1mem__functor0.html#aa679f73c7b786540686c110628a71dde">sigc::mem_functor0< T_return, T_obj ></a>
, <a class="el" href="classsigc_1_1mem__functor1.html#a7c7ab28530e2f678eae87772253df709">sigc::mem_functor1< T_return, T_obj, T_arg1 ></a>
, <a class="el" href="classsigc_1_1mem__functor2.html#a9080e942d35d226ea6f9dda097342f07">sigc::mem_functor2< T_return, T_obj, T_arg1, T_arg2 ></a>
: <a class="el" href="structsigc_1_1retype__functor.html#a4dda9669c6c476d8825b5477159f4edb">sigc::retype_functor< T_functor, T_type1, T_type2, T_type3, T_type4, T_type5, T_type6, T_type7 ></a>
</li>
<li>retype_return_functor()
-: <a class="el" href="structsigc_1_1retype__return__functor.html#a1fca6f2ee601bdf6771e14bba21faa46">sigc::retype_return_functor< T_return, T_functor ></a>
-, <a class="el" href="structsigc_1_1retype__return__functor_3_01void_00_01T__functor_01_4.html#a720e802de29a72d1e15626b1719844bc">sigc::retype_return_functor< void, T_functor ></a>
+: <a class="el" href="structsigc_1_1retype__return__functor.html#aa9546db86a6d1cfa7224a3a0cbad4827">sigc::retype_return_functor< T_return, T_functor ></a>
+, <a class="el" href="structsigc_1_1retype__return__functor_3_01void_00_01T__functor_01_4.html#a8a9768f5c40e609f9bd06d30e3111735">sigc::retype_return_functor< void, T_functor ></a>
</li>
<li>reverse_iterator
: <a class="el" href="classsigc_1_1signal0.html#a1d9c390974304392ed12ee81543ab997">sigc::signal0< T_return, T_accumulator ></a>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
<div class="textblock">Here is a list of all class members with links to the classes they belong to:</div>
<h3><a class="anchor" id="index_s"></a>- s -</h3><ul>
-<li>self
-: <a class="el" href="structsigc_1_1lambda.html#ad25413132b4ce715f39e412fb0fc8945">sigc::lambda< T_type ></a>
-</li>
<li>set_parent()
: <a class="el" href="classsigc_1_1slot__base.html#a2fb1bd8f20bd2c1f8514193a512d84eb">sigc::slot_base</a>
</li>
</li>
<li>signal()
: <a class="el" href="classsigc_1_1signal.html#a50432d1aebfbee5ef17a3f434d0c50bf">sigc::signal< T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7 ></a>
-, <a class="el" href="classsigc_1_1signal_3_01T__return_00_01nil_00_01nil_00_01nil_00_01nil_00_01nil_00_01nil_00_01nil_01_4.html#a3dcbc7a6481f46f08a366e489876a7a0">sigc::signal< T_return, nil, nil, nil, nil, nil, nil, nil ></a>
+, <a class="el" href="classsigc_1_1signal_3_01T__return_00_01nil_00_01nil_00_01nil_00_01nil_00_01nil_00_01nil_00_01nil_01_4.html#a69bd320a61ade13046ae3ed20498ab83">sigc::signal< T_return, nil, nil, nil, nil, nil, nil, nil ></a>
, <a class="el" href="classsigc_1_1signal_3_01T__return_00_01T__arg1_00_01nil_00_01nil_00_01nil_00_01nil_00_01nil_00_01nil_01_4.html#a7561df6caf1f508eff71f035db8260c1">sigc::signal< T_return, T_arg1, nil, nil, nil, nil, nil, nil ></a>
, <a class="el" href="classsigc_1_1signal_3_01T__return_00_01T__arg1_00_01T__arg2_00_01nil_00_01nil_00_01nil_00_01nil_00_01nil_01_4.html#a3ad9be2894fd3f78bfde9488207ff502">sigc::signal< T_return, T_arg1, T_arg2, nil, nil, nil, nil, nil ></a>
, <a class="el" href="classsigc_1_1signal_3_01T__return_00_01T__arg1_00_01T__arg2_00_01T__arg3_00_01nil_00_01nil_00_01nil_00_01nil_01_4.html#a3866d625025ecae063d59e81f86ec836">sigc::signal< T_return, T_arg1, T_arg2, T_arg3, nil, nil, nil, nil ></a>
-, <a class="el" href="classsigc_1_1signal_3_01T__return_00_01T__arg1_00_01T__arg2_00_01T__arg3_00_01T__arg4_00_01nil_00_01nil_00_01nil_01_4.html#a299bbe1b511723c6c854e516aaf0a926">sigc::signal< T_return, T_arg1, T_arg2, T_arg3, T_arg4, nil, nil, nil ></a>
+, <a class="el" href="classsigc_1_1signal_3_01T__return_00_01T__arg1_00_01T__arg2_00_01T__arg3_00_01T__arg4_00_01nil_00_01nil_00_01nil_01_4.html#a76731fb4092ef8d9b459c8c32c5433dc">sigc::signal< T_return, T_arg1, T_arg2, T_arg3, T_arg4, nil, nil, nil ></a>
, <a class="el" href="classsigc_1_1signal_3_01T__return_00_01T__arg1_00_01T__arg2_00_01T__arg3_00_01T__arg4_00_01T__arg5_00_01nil_00_01nil_01_4.html#a5e64ba037f3567ab5dbb49811a447b2c">sigc::signal< T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, nil, nil ></a>
, <a class="el" href="classsigc_1_1signal_3_01T__return_00_01T__arg1_00_01T__arg2_00_01T__arg3_00_01T__arg4_00_01T__arg5_00_01T__arg6_00_01nil_01_4.html#a1dd1e779ef29d6df2b570847c4f2819e">sigc::signal< T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, nil ></a>
</li>
: <a class="el" href="classsigc_1_1signal4.html#a2d469f516a9edac2b20d7f6cf46e821a">sigc::signal4< T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_accumulator ></a>
</li>
<li>signal5()
-: <a class="el" href="classsigc_1_1signal5.html#a7885861b9cdbacbe2d58a13cd96ec265">sigc::signal5< T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_accumulator ></a>
+: <a class="el" href="classsigc_1_1signal5.html#af717d1a6fd8612da84dce33fe6640b7a">sigc::signal5< T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_accumulator ></a>
</li>
<li>signal6()
: <a class="el" href="classsigc_1_1signal6.html#af7f529bbd9cf26d468ed18426b9b51ea">sigc::signal6< T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_accumulator ></a>
, <a class="el" href="classsigc_1_1slot_3_01T__return_00_01T__arg1_00_01T__arg2_00_01T__arg3_00_01nil_00_01nil_00_01nil_00_01nil_01_4.html#ad99678bf6a2affc9a1607046e158b22b">sigc::slot< T_return, T_arg1, T_arg2, T_arg3, nil, nil, nil, nil ></a>
, <a class="el" href="classsigc_1_1slot_3_01T__return_00_01T__arg1_00_01T__arg2_00_01T__arg3_00_01T__arg4_00_01nil_00_01nil_00_01nil_01_4.html#afb4ec5a164ca622ab9c1a97e61e9cfdc">sigc::slot< T_return, T_arg1, T_arg2, T_arg3, T_arg4, nil, nil, nil ></a>
, <a class="el" href="classsigc_1_1slot_3_01T__return_00_01T__arg1_00_01T__arg2_00_01T__arg3_00_01T__arg4_00_01T__arg5_00_01nil_00_01nil_01_4.html#a81c9e625279217aee1ae00696927c39e">sigc::slot< T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, nil, nil ></a>
-, <a class="el" href="classsigc_1_1slot_3_01T__return_00_01T__arg1_00_01T__arg2_00_01T__arg3_00_01T__arg4_00_01T__arg5_00_01T__arg6_00_01nil_01_4.html#a290753f903665f059c25a4f71c9a9e16">sigc::slot< T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, nil ></a>
+, <a class="el" href="classsigc_1_1slot_3_01T__return_00_01T__arg1_00_01T__arg2_00_01T__arg3_00_01T__arg4_00_01T__arg5_00_01T__arg6_00_01nil_01_4.html#ab3081b23ab4fee6191cd8a2f57ba199d">sigc::slot< T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, nil ></a>
</li>
<li>slot0()
: <a class="el" href="classsigc_1_1slot0.html#a8681082ecd439d5b294922e4d27a3f49">sigc::slot0< T_return ></a>
</li>
<li>slot1()
-: <a class="el" href="classsigc_1_1slot1.html#a20999708c6db16a3015beca7d4ad866e">sigc::slot1< T_return, T_arg1 ></a>
+: <a class="el" href="classsigc_1_1slot1.html#ac6ecaff0a20a57d2168ea126e565e36a">sigc::slot1< T_return, T_arg1 ></a>
</li>
<li>slot2()
: <a class="el" href="classsigc_1_1slot2.html#a3f9f6cf199bbb40011eca25eb9da67c2">sigc::slot2< T_return, T_arg1, T_arg2 ></a>
</li>
<li>slot3()
-: <a class="el" href="classsigc_1_1slot3.html#ac477d74beed45b2b3e26d19b083147ad">sigc::slot3< T_return, T_arg1, T_arg2, T_arg3 ></a>
+: <a class="el" href="classsigc_1_1slot3.html#aeb40907cf0589e97fd541c71e368ad03">sigc::slot3< T_return, T_arg1, T_arg2, T_arg3 ></a>
</li>
<li>slot4()
-: <a class="el" href="classsigc_1_1slot4.html#a50d331d378ba1f3cb03f39a42a4aa3cf">sigc::slot4< T_return, T_arg1, T_arg2, T_arg3, T_arg4 ></a>
+: <a class="el" href="classsigc_1_1slot4.html#a4b8ef0494eea86c0d787486ce121db91">sigc::slot4< T_return, T_arg1, T_arg2, T_arg3, T_arg4 ></a>
</li>
<li>slot5()
: <a class="el" href="classsigc_1_1slot5.html#a7548f0d175acd8296064c9bc6d76ea88">sigc::slot5< T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5 ></a>
: <a class="el" href="classsigc_1_1slot6.html#a3c763adcaa8b9c34c808ef0f15b1fc48">sigc::slot6< T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6 ></a>
</li>
<li>slot7()
-: <a class="el" href="classsigc_1_1slot7.html#abf200ae4152fb26fc96a6863be3548b8">sigc::slot7< T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7 ></a>
+: <a class="el" href="classsigc_1_1slot7.html#aa9b64dc6516b8a0d55f46e4737eaaf8b">sigc::slot7< T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7 ></a>
</li>
<li>slot_base()
-: <a class="el" href="classsigc_1_1slot__base.html#aadcbb54832b5207bddf89ac5433b531a">sigc::slot_base</a>
+: <a class="el" href="classsigc_1_1slot__base.html#a558d209f5e7330680b4a6f0e7894be3e">sigc::slot_base</a>
</li>
<li>slot_const_iterator()
-: <a class="el" href="structsigc_1_1slot__const__iterator.html#a2b9e80b87a3400bb6f794c07f90d2d47">sigc::slot_const_iterator< T_slot ></a>
+: <a class="el" href="structsigc_1_1slot__const__iterator.html#af84ef3ee54ae482534d88ac6a5b871ae">sigc::slot_const_iterator< T_slot ></a>
</li>
<li>slot_iterator()
-: <a class="el" href="structsigc_1_1slot__iterator.html#a82d4023ad9dc38dcde4cae6bf65cd8c8">sigc::slot_iterator< T_slot ></a>
+: <a class="el" href="structsigc_1_1slot__iterator.html#a07933d72e788285673121e5ce019a260">sigc::slot_iterator< T_slot ></a>
</li>
<li>slot_list()
-: <a class="el" href="structsigc_1_1slot__list.html#a5baac8e52fda5f6fc4fa31bed67077e3">sigc::slot_list< T_slot ></a>
+: <a class="el" href="structsigc_1_1slot__list.html#aa83ff2d263581f80f9d15d14fa31bc7a">sigc::slot_list< T_slot ></a>
</li>
<li>slot_list_type
: <a class="el" href="classsigc_1_1signal0.html#add195c1c738ee8efe10294f21d258b77">sigc::signal0< T_return, T_accumulator ></a>
: <a class="el" href="classsigc_1_1signal0.html#aab880dfd826e15ad110e484d2635e279">sigc::signal0< T_return, T_accumulator ></a>
, <a class="el" href="classsigc_1_1signal1.html#a7653b68e6a3b8445de91f89060bf2600">sigc::signal1< T_return, T_arg1, T_accumulator ></a>
, <a class="el" href="classsigc_1_1signal2.html#a258c0e2926cc21629989bee8a92ec86a">sigc::signal2< T_return, T_arg1, T_arg2, T_accumulator ></a>
-, <a class="el" href="classsigc_1_1signal3.html#aae26e88b26bb928f4931e2fc8668bb3c">sigc::signal3< T_return, T_arg1, T_arg2, T_arg3, T_accumulator ></a>
+, <a class="el" href="classsigc_1_1signal3.html#ab9606b708078956a758b81503f956bee">sigc::signal3< T_return, T_arg1, T_arg2, T_arg3, T_accumulator ></a>
, <a class="el" href="classsigc_1_1signal4.html#ae490f1a6802c40a4c3b12e1580520c88">sigc::signal4< T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_accumulator ></a>
, <a class="el" href="classsigc_1_1signal5.html#a84f5c68895c8d6da07c1caa00088617b">sigc::signal5< T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_accumulator ></a>
, <a class="el" href="classsigc_1_1signal6.html#a33206535cad2a3c5d32d8391904c9524">sigc::signal6< T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_accumulator ></a>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
, <a class="el" href="structsigc_1_1type__trait_3_01T__type_01_6_01_4.html#a07466c8c7e5eb429759e9412225636a3">sigc::type_trait< T_type& ></a>
, <a class="el" href="structsigc_1_1type__trait_3_01T__type[N]_4.html#acac14097ce3113948c5b85cc04210ad4">sigc::type_trait< T_type[N]></a>
, <a class="el" href="structsigc_1_1type__trait_3_01void_01_4.html#add6e3395f22d8169275eafdbb3035fbe">sigc::type_trait< void ></a>
-, <a class="el" href="structsigc_1_1unwrap__lambda__type.html#aadfb5741dde3970115b666c4e033ce2f">sigc::unwrap_lambda_type< T_type ></a>
-, <a class="el" href="structsigc_1_1unwrap__lambda__type_3_01lambda_3_01T__type_01_4_01_4.html#a533dabb2c57ca7d6f4cbfc4c7b915d84">sigc::unwrap_lambda_type< lambda< T_type > ></a>
, <a class="el" href="structsigc_1_1unwrap__reference.html#af35cad963fc073623282a2fb9c81f02a">sigc::unwrap_reference< T_type ></a>
, <a class="el" href="structsigc_1_1unwrap__reference_3_01const__reference__wrapper_3_01T__type_01_4_01_4.html#a9820651050b0059841f9a92d9c478ba8">sigc::unwrap_reference< const_reference_wrapper< T_type > ></a>
, <a class="el" href="structsigc_1_1unwrap__reference_3_01reference__wrapper_3_01T__type_01_4_01_4.html#a25182a927492ff79290f9820f7131e58">sigc::unwrap_reference< reference_wrapper< T_type > ></a>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
<li>functor_type
: <a class="el" href="structsigc_1_1adaptor__trait_3_01T__functor_00_01false_01_4.html#acb1a7066d665d00e2525c49d089efc0f">sigc::adaptor_trait< T_functor, false ></a>
, <a class="el" href="structsigc_1_1adaptor__trait_3_01T__functor_00_01true_01_4.html#ae065e339af2abe58cad43d630328240f">sigc::adaptor_trait< T_functor, true ></a>
-, <a class="el" href="structsigc_1_1functor__trait.html#aaa889e97aa5a7a6af00f500df7d143e9">sigc::functor_trait< T_functor, I_derives_functor_base ></a>
-, <a class="el" href="structsigc_1_1lambda__group1.html#a33608fda37bc84ec8a336f9d52d4924e">sigc::lambda_group1< T_functor, T_type1 ></a>
-, <a class="el" href="structsigc_1_1lambda__group2.html#a97ac691a597ef2063a4d0c53b99c28c5">sigc::lambda_group2< T_functor, T_type1, T_type2 ></a>
-, <a class="el" href="structsigc_1_1lambda__group3.html#a33feec6b2637fb5bea3f7a7f7c6e2142">sigc::lambda_group3< T_functor, T_type1, T_type2, T_type3 ></a>
+, <a class="el" href="structsigc_1_1functor__trait.html#ac779b3d3d04e78d57b6b2ae4545b1667">sigc::functor_trait< T_functor, I_derives_functor_base, I_can_use_decltype ></a>
</li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
, <a class="el" href="classsigc_1_1const__volatile__mem__functor7.html#a25cb7e6ed71406c5b91ab2696ad8e623">sigc::const_volatile_mem_functor7< T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7 ></a>
, <a class="el" href="structsigc_1_1exception__catch__functor.html#a498f5575ae283594cfe03288fab54fdf">sigc::exception_catch_functor< T_functor, T_catcher, T_return ></a>
, <a class="el" href="structsigc_1_1exception__catch__functor_3_01T__functor_00_01T__catcher_00_01void_01_4.html#a06506e0d4da26682740b7f4f9aec80d5">sigc::exception_catch_functor< T_functor, T_catcher, void ></a>
-, <a class="el" href="structsigc_1_1functor__trait.html#a90c4188e1d98bdf394d77a3b1b1c065f">sigc::functor_trait< T_functor, I_derives_functor_base ></a>
+, <a class="el" href="structsigc_1_1functor__trait.html#af1324bf0d3cec3d1f2e39e932b228d6d">sigc::functor_trait< T_functor, I_derives_functor_base, I_can_use_decltype ></a>
, <a class="el" href="structsigc_1_1hide__functor_3_010_00_01T__functor_01_4.html#af5b5ee49bb277471b5bc8e3769d0dcb7">sigc::hide_functor< 0, T_functor ></a>
, <a class="el" href="structsigc_1_1hide__functor_3-1_00_01T__functor_01_4.html#a72ea0ce5ad7cf4f9e0e7b160d830c5a4">sigc::hide_functor<-1, T_functor ></a>
-, <a class="el" href="structsigc_1_1lambda__group1.html#ac602edad96df05d967b6a5c4936f0ac8">sigc::lambda_group1< T_functor, T_type1 ></a>
-, <a class="el" href="structsigc_1_1lambda__group2.html#acedf5bd987b41b0a975aece3f91562c6">sigc::lambda_group2< T_functor, T_type1, T_type2 ></a>
-, <a class="el" href="structsigc_1_1lambda__group3.html#afb1ec9fdf67e5c37df9f94381e662322">sigc::lambda_group3< T_functor, T_type1, T_type2, T_type3 ></a>
, <a class="el" href="classsigc_1_1mem__functor0.html#aa679f73c7b786540686c110628a71dde">sigc::mem_functor0< T_return, T_obj ></a>
, <a class="el" href="classsigc_1_1mem__functor1.html#a7c7ab28530e2f678eae87772253df709">sigc::mem_functor1< T_return, T_obj, T_arg1 ></a>
, <a class="el" href="classsigc_1_1mem__functor2.html#a9080e942d35d226ea6f9dda097342f07">sigc::mem_functor2< T_return, T_obj, T_arg1, T_arg2 ></a>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
 
<h3><a class="anchor" id="index_s"></a>- s -</h3><ul>
-<li>self
-: <a class="el" href="structsigc_1_1lambda.html#ad25413132b4ce715f39e412fb0fc8945">sigc::lambda< T_type ></a>
-</li>
<li>setter_type
: <a class="el" href="structsigc_1_1compose1__functor.html#a86a8bc8f4926f7bb91ef362fff03a25e">sigc::compose1_functor< T_setter, T_getter ></a>
, <a class="el" href="structsigc_1_1compose2__functor.html#ac3d7308c702df7378af1635281d5f7b8">sigc::compose2_functor< T_setter, T_getter1, T_getter2 ></a>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
, <a class="el" href="structsigc_1_1type__trait_3_01T__type_01_6_01_4.html#a07466c8c7e5eb429759e9412225636a3">sigc::type_trait< T_type& ></a>
, <a class="el" href="structsigc_1_1type__trait_3_01T__type[N]_4.html#acac14097ce3113948c5b85cc04210ad4">sigc::type_trait< T_type[N]></a>
, <a class="el" href="structsigc_1_1type__trait_3_01void_01_4.html#add6e3395f22d8169275eafdbb3035fbe">sigc::type_trait< void ></a>
-, <a class="el" href="structsigc_1_1unwrap__lambda__type.html#aadfb5741dde3970115b666c4e033ce2f">sigc::unwrap_lambda_type< T_type ></a>
-, <a class="el" href="structsigc_1_1unwrap__lambda__type_3_01lambda_3_01T__type_01_4_01_4.html#a533dabb2c57ca7d6f4cbfc4c7b915d84">sigc::unwrap_lambda_type< lambda< T_type > ></a>
, <a class="el" href="structsigc_1_1unwrap__reference.html#af35cad963fc073623282a2fb9c81f02a">sigc::unwrap_reference< T_type ></a>
, <a class="el" href="structsigc_1_1unwrap__reference_3_01const__reference__wrapper_3_01T__type_01_4_01_4.html#a9820651050b0059841f9a92d9c478ba8">sigc::unwrap_reference< const_reference_wrapper< T_type > ></a>
, <a class="el" href="structsigc_1_1unwrap__reference_3_01reference__wrapper_3_01T__type_01_4_01_4.html#a25182a927492ff79290f9820f7131e58">sigc::unwrap_reference< reference_wrapper< T_type > ></a>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
 
<h3><a class="anchor" id="index_v"></a>- v -</h3><ul>
-<li>value1_type
-: <a class="el" href="structsigc_1_1lambda__group1.html#a4ba1e4dee915b4bd089d34337b25583b">sigc::lambda_group1< T_functor, T_type1 ></a>
-, <a class="el" href="structsigc_1_1lambda__group2.html#aba1e85dabda9b2c0fffbf41d2cc83064">sigc::lambda_group2< T_functor, T_type1, T_type2 ></a>
-, <a class="el" href="structsigc_1_1lambda__group3.html#a9b336d0eadd9475f2e45b6aedfe2e97d">sigc::lambda_group3< T_functor, T_type1, T_type2, T_type3 ></a>
-</li>
-<li>value2_type
-: <a class="el" href="structsigc_1_1lambda__group2.html#a48051f2cfec13546be194319afc6678f">sigc::lambda_group2< T_functor, T_type1, T_type2 ></a>
-, <a class="el" href="structsigc_1_1lambda__group3.html#af4e66634f79c2c8c1f5e64d586816234">sigc::lambda_group3< T_functor, T_type1, T_type2, T_type3 ></a>
-</li>
-<li>value3_type
-: <a class="el" href="structsigc_1_1lambda__group3.html#a7ea1e7fea0a9522ccacf1e2ab36fd919">sigc::lambda_group3< T_functor, T_type1, T_type2, T_type3 ></a>
-</li>
<li>value_type
: <a class="el" href="structsigc_1_1slot__const__iterator.html#a20a9337066a01a137ea9945bdd509e80">sigc::slot_const_iterator< T_slot ></a>
, <a class="el" href="structsigc_1_1slot__iterator.html#a94f7fcbd3224e1f7e88b84f9e326b0b3">sigc::slot_iterator< T_slot ></a>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
<h3><a class="anchor" id="index_v"></a>- v -</h3><ul>
<li>value
-: <a class="el" href="structsigc_1_1is__base__and__derived.html#a639a5267d6ab0a754da024d0bffa2d21">sigc::is_base_and_derived< T_base, T_derived ></a>
+: <a class="el" href="classsigc_1_1can__deduce__result__type__with__decltype.html#a3e390d22fe03a03bb34bb38bca1aea91">sigc::can_deduce_result_type_with_decltype< T_functor ></a>
+, <a class="el" href="structsigc_1_1is__base__and__derived.html#a639a5267d6ab0a754da024d0bffa2d21">sigc::is_base_and_derived< T_base, T_derived ></a>
, <a class="el" href="structsigc_1_1is__base__and__derived_3_01T__base_00_01T__base_01_4.html#a48d192adf0841f00c675f4bc10830317">sigc::is_base_and_derived< T_base, T_base ></a>
</li>
-<li>value1_
-: <a class="el" href="structsigc_1_1lambda__group1.html#a0243095285dd004dbfa78e4148b75b87">sigc::lambda_group1< T_functor, T_type1 ></a>
-, <a class="el" href="structsigc_1_1lambda__group2.html#a4bd04d092cfb0c677653dd6e2a329c7a">sigc::lambda_group2< T_functor, T_type1, T_type2 ></a>
-, <a class="el" href="structsigc_1_1lambda__group3.html#aa7f6344108a494d5d150398e8c883d1d">sigc::lambda_group3< T_functor, T_type1, T_type2, T_type3 ></a>
-</li>
-<li>value1_type
-: <a class="el" href="structsigc_1_1lambda__group1.html#a4ba1e4dee915b4bd089d34337b25583b">sigc::lambda_group1< T_functor, T_type1 ></a>
-, <a class="el" href="structsigc_1_1lambda__group2.html#aba1e85dabda9b2c0fffbf41d2cc83064">sigc::lambda_group2< T_functor, T_type1, T_type2 ></a>
-, <a class="el" href="structsigc_1_1lambda__group3.html#a9b336d0eadd9475f2e45b6aedfe2e97d">sigc::lambda_group3< T_functor, T_type1, T_type2, T_type3 ></a>
-</li>
-<li>value2_
-: <a class="el" href="structsigc_1_1lambda__group2.html#a23175ece70377eaa63bb1ec8f9f0b404">sigc::lambda_group2< T_functor, T_type1, T_type2 ></a>
-, <a class="el" href="structsigc_1_1lambda__group3.html#a0329614243229b16bff4a0faaadfcabf">sigc::lambda_group3< T_functor, T_type1, T_type2, T_type3 ></a>
-</li>
-<li>value2_type
-: <a class="el" href="structsigc_1_1lambda__group2.html#a48051f2cfec13546be194319afc6678f">sigc::lambda_group2< T_functor, T_type1, T_type2 ></a>
-, <a class="el" href="structsigc_1_1lambda__group3.html#af4e66634f79c2c8c1f5e64d586816234">sigc::lambda_group3< T_functor, T_type1, T_type2, T_type3 ></a>
-</li>
-<li>value3_
-: <a class="el" href="structsigc_1_1lambda__group3.html#a7589f349c2cc3c0420a2501470ce566a">sigc::lambda_group3< T_functor, T_type1, T_type2, T_type3 ></a>
-</li>
-<li>value3_type
-: <a class="el" href="structsigc_1_1lambda__group3.html#a7ea1e7fea0a9522ccacf1e2ab36fd919">sigc::lambda_group3< T_functor, T_type1, T_type2, T_type3 ></a>
-</li>
<li>value_
: <a class="el" href="structsigc_1_1const__reference__wrapper.html#aaaba3da60073e485144be648f8c4f69f">sigc::const_reference_wrapper< T_type ></a>
, <a class="el" href="structsigc_1_1reference__wrapper.html#acf0463810eeadc10cc3dd2eab900145f">sigc::reference_wrapper< T_type ></a>
: <a class="el" href="classsigc_1_1volatile__mem__functor2.html#a273bbe27bc7b190d8457408cd328c1f9">sigc::volatile_mem_functor2< T_return, T_obj, T_arg1, T_arg2 ></a>
</li>
<li>volatile_mem_functor3()
-: <a class="el" href="classsigc_1_1volatile__mem__functor3.html#a2364e6ab68a8128ba9e9973c66c0ce1d">sigc::volatile_mem_functor3< T_return, T_obj, T_arg1, T_arg2, T_arg3 ></a>
+: <a class="el" href="classsigc_1_1volatile__mem__functor3.html#ad2319eebf06194ff516c27f581cbd7a5">sigc::volatile_mem_functor3< T_return, T_obj, T_arg1, T_arg2, T_arg3 ></a>
</li>
<li>volatile_mem_functor4()
: <a class="el" href="classsigc_1_1volatile__mem__functor4.html#a5ba462855081b617085e59e7566927a7">sigc::volatile_mem_functor4< T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4 ></a>
: <a class="el" href="classsigc_1_1volatile__mem__functor5.html#a98e43ac4bafb96958bbbf658154794d0">sigc::volatile_mem_functor5< T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5 ></a>
</li>
<li>volatile_mem_functor6()
-: <a class="el" href="classsigc_1_1volatile__mem__functor6.html#a782bbd4bff8bd939a008ceb9e0511bae">sigc::volatile_mem_functor6< T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6 ></a>
+: <a class="el" href="classsigc_1_1volatile__mem__functor6.html#a55c428dacaaff7f5dcd48ec02b53ed60">sigc::volatile_mem_functor6< T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6 ></a>
</li>
<li>volatile_mem_functor7()
: <a class="el" href="classsigc_1_1volatile__mem__functor7.html#a809146646d2dd726a385344f455402e4">sigc::volatile_mem_functor7< T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7 ></a>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
<h3><a class="anchor" id="index_f"></a>- f -</h3><ul>
-<li>func_
-: <a class="el" href="structsigc_1_1lambda__group1.html#ac11cb4cd0685ce3745bf438bb59006e4">sigc::lambda_group1< T_functor, T_type1 ></a>
-, <a class="el" href="structsigc_1_1lambda__group2.html#a81d504b21b2eb7821975e34e91bf702d">sigc::lambda_group2< T_functor, T_type1, T_type2 ></a>
-, <a class="el" href="structsigc_1_1lambda__group3.html#ae5bd70216dc26c2328c0cf08353bc06f">sigc::lambda_group3< T_functor, T_type1, T_type2, T_type3 ></a>
-</li>
<li>func_ptr_
: <a class="el" href="classsigc_1_1const__mem__functor0.html#a215359b20450c2afe93496826ac45c1d">sigc::const_mem_functor0< T_return, T_obj ></a>
, <a class="el" href="classsigc_1_1const__mem__functor1.html#af791174008d5b58aa0f4fb42a531cc4a">sigc::const_mem_functor1< T_return, T_obj, T_arg1 ></a>
<h3><a class="anchor" id="index_v"></a>- v -</h3><ul>
<li>value
-: <a class="el" href="structsigc_1_1is__base__and__derived.html#a639a5267d6ab0a754da024d0bffa2d21">sigc::is_base_and_derived< T_base, T_derived ></a>
+: <a class="el" href="classsigc_1_1can__deduce__result__type__with__decltype.html#a3e390d22fe03a03bb34bb38bca1aea91">sigc::can_deduce_result_type_with_decltype< T_functor ></a>
+, <a class="el" href="structsigc_1_1is__base__and__derived.html#a639a5267d6ab0a754da024d0bffa2d21">sigc::is_base_and_derived< T_base, T_derived ></a>
, <a class="el" href="structsigc_1_1is__base__and__derived_3_01T__base_00_01T__base_01_4.html#a48d192adf0841f00c675f4bc10830317">sigc::is_base_and_derived< T_base, T_base ></a>
</li>
-<li>value1_
-: <a class="el" href="structsigc_1_1lambda__group1.html#a0243095285dd004dbfa78e4148b75b87">sigc::lambda_group1< T_functor, T_type1 ></a>
-, <a class="el" href="structsigc_1_1lambda__group2.html#a4bd04d092cfb0c677653dd6e2a329c7a">sigc::lambda_group2< T_functor, T_type1, T_type2 ></a>
-, <a class="el" href="structsigc_1_1lambda__group3.html#aa7f6344108a494d5d150398e8c883d1d">sigc::lambda_group3< T_functor, T_type1, T_type2, T_type3 ></a>
-</li>
-<li>value2_
-: <a class="el" href="structsigc_1_1lambda__group2.html#a23175ece70377eaa63bb1ec8f9f0b404">sigc::lambda_group2< T_functor, T_type1, T_type2 ></a>
-, <a class="el" href="structsigc_1_1lambda__group3.html#a0329614243229b16bff4a0faaadfcabf">sigc::lambda_group3< T_functor, T_type1, T_type2, T_type3 ></a>
-</li>
-<li>value3_
-: <a class="el" href="structsigc_1_1lambda__group3.html#a7589f349c2cc3c0420a2501470ce566a">sigc::lambda_group3< T_functor, T_type1, T_type2, T_type3 ></a>
-</li>
<li>value_
: <a class="el" href="structsigc_1_1const__reference__wrapper.html#aaaba3da60073e485144be648f8c4f69f">sigc::const_reference_wrapper< T_type ></a>
, <a class="el" href="structsigc_1_1reference__wrapper.html#acf0463810eeadc10cc3dd2eab900145f">sigc::reference_wrapper< T_type ></a>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
<tr class="memitem:group__exception__catch"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__exception__catch.html">exception_catch()</a></td></tr>
<tr class="memdesc:group__exception__catch"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="namespacesigc.html#a0ae3b8a1ba26920cee4d7d9df2c39ed9">sigc::exception_catch()</a> catches an exception thrown from within the wrapped functor and directs it to a catcher functor. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:group__group__"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__.html">group()</a></td></tr>
-<tr class="memdesc:group__group__"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="group__lambdas.html#ga56a5905d189af5fab33d8c456f097a29" title="Alters an arbitrary functor by rebuilding its arguments from 1 lambda expressions. ">sigc::group()</a> alters an arbitrary functor by rebuilding its arguments from one or more lambda expressions. <br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:group__hide"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__hide.html">hide(), hide_return()</a></td></tr>
<tr class="memdesc:group__hide"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="group__hide.html#gaf2cefea3a99acd44f68121424103172d" title="Creates an adaptor of type sigc::hide_functor which adds a dummy parameter to the passed functor...">sigc::hide()</a> alters an arbitrary functor in that it adds a parameter whose value is ignored on invocation of the returned functor. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<p>Adaptors are functors that alter the signature of a functor's operator()(). </p>
-<p>The adaptor types libsigc++ provides are created with <a class="el" href="group__bind.html#ga2f099bc6056b32f2a58134ba8537c6f4" title="Creates an adaptor of type sigc::bind_functor which binds the passed argument to the passed functor...">bind()</a>, <a class="el" href="group__bind.html#gaca1ae2466988d67d00a5f2cd16c8d90a" title="Creates an adaptor of type sigc::bind_return_functor which fixes the return value of the passed funct...">bind_return()</a>, <a class="el" href="group__hide.html#gaf2cefea3a99acd44f68121424103172d" title="Creates an adaptor of type sigc::hide_functor which adds a dummy parameter to the passed functor...">hide()</a>, <a class="el" href="group__hide.html#gae4e6f5491471c12440f1c5d480726b98" title="Creates an adaptor of type sigc::retype_return_functor which drops the return value of the passed fun...">hide_return()</a>, <a class="el" href="group__retype.html#ga23a8cdbc12c57fbef0866b5c51d71588" title="Creates an adaptor of type sigc::retype_return_functor which performs a C-style cast on the return va...">retype_return()</a>, <a class="el" href="group__retype.html#ga8b98eeb2a61b5b1f84dcd1d20fe666f1" title="Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed...">retype()</a>, <a class="el" href="group__compose.html#ga34cf5da8f6323bfdc41bc7113d6ad20a" title="Creates an adaptor of type sigc::compose1_functor which combines two functors. ">compose()</a>, <a class="el" href="namespacesigc.html#a0ae3b8a1ba26920cee4d7d9df2c39ed9">exception_catch()</a>, <a class="el" href="group__track__obj.html#ga8fd1ab36d123ff83dd4cd8dc58bb28e2" title="Creates an adaptor of type sigc::track_obj_functor1 which wraps a functor. ">track_obj()</a> and <a class="el" href="group__lambdas.html#ga56a5905d189af5fab33d8c456f097a29" title="Alters an arbitrary functor by rebuilding its arguments from 1 lambda expressions. ">group()</a>.</p>
+<p>The adaptor types libsigc++ provides are created with <a class="el" href="group__bind.html#ga2f099bc6056b32f2a58134ba8537c6f4" title="Creates an adaptor of type sigc::bind_functor which binds the passed argument to the passed functor...">bind()</a>, <a class="el" href="group__bind.html#gaca1ae2466988d67d00a5f2cd16c8d90a" title="Creates an adaptor of type sigc::bind_return_functor which fixes the return value of the passed funct...">bind_return()</a>, <a class="el" href="group__hide.html#gaf2cefea3a99acd44f68121424103172d" title="Creates an adaptor of type sigc::hide_functor which adds a dummy parameter to the passed functor...">hide()</a>, <a class="el" href="group__hide.html#gae4e6f5491471c12440f1c5d480726b98" title="Creates an adaptor of type sigc::retype_return_functor which drops the return value of the passed fun...">hide_return()</a>, <a class="el" href="group__retype.html#ga23a8cdbc12c57fbef0866b5c51d71588" title="Creates an adaptor of type sigc::retype_return_functor which performs a C-style cast on the return va...">retype_return()</a>, <a class="el" href="group__retype.html#ga8b98eeb2a61b5b1f84dcd1d20fe666f1" title="Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed...">retype()</a>, <a class="el" href="group__compose.html#ga34cf5da8f6323bfdc41bc7113d6ad20a" title="Creates an adaptor of type sigc::compose1_functor which combines two functors. ">compose()</a>, <a class="el" href="namespacesigc.html#a0ae3b8a1ba26920cee4d7d9df2c39ed9">exception_catch()</a>, <a class="el" href="group__track__obj.html#ga8fd1ab36d123ff83dd4cd8dc58bb28e2" title="Creates an adaptor of type sigc::track_obj_functor1 which wraps a functor. ">track_obj()</a> and group().</p>
<p>You can easily derive your own adaptor type from <a class="el" href="structsigc_1_1adapts.html" title="Base type for adaptors. ">sigc::adapts</a>. </p>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:28 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
<div class="line"><span class="keywordtype">void</span> foo(bar&);</div>
<div class="line">some_signal.<a class="code" href="classsigc_1_1signal7.html#adc55ac9b0f935fd87a67904022e03cb2">connect</a>(<a class="code" href="group__bind.html#ga2f099bc6056b32f2a58134ba8537c6f4">sigc::bind</a>(&foo,<a class="code" href="namespacesigc.html#a48e982c74c057b5630246ba436524041">sigc::ref</a>(some_bar)));</div>
<div class="line"> <span class="comment">// disconnected automatically if some_bar goes out of scope</span></div>
-</div><!-- fragment --></dd></dl>
-<p>For a more powerful version of this functionality see the lambda library adaptor <a class="el" href="group__lambdas.html#ga56a5905d189af5fab33d8c456f097a29" title="Alters an arbitrary functor by rebuilding its arguments from 1 lambda expressions. ">sigc::group()</a> which can bind, hide and reorder arguments arbitrarily. Although <a class="el" href="group__lambdas.html#ga56a5905d189af5fab33d8c456f097a29" title="Alters an arbitrary functor by rebuilding its arguments from 1 lambda expressions. ">sigc::group()</a> is more flexible, <a class="el" href="group__bind.html#ga2f099bc6056b32f2a58134ba8537c6f4" title="Creates an adaptor of type sigc::bind_functor which binds the passed argument to the passed functor...">sigc::bind()</a> provides a means of binding parameters when the total number of parameters called is variable. </p>
+</div><!-- fragment --> </dd></dl>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="ga2f099bc6056b32f2a58134ba8537c6f4"></a>
<div class="memitem">
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:28 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
<p>The functor <a class="el" href="group__compose.html#ga34cf5da8f6323bfdc41bc7113d6ad20a" title="Creates an adaptor of type sigc::compose1_functor which combines two functors. ">sigc::compose()</a> returns can be passed directly into <a class="el" href="classsigc_1_1signal7.html#adc55ac9b0f935fd87a67904022e03cb2" title="Add a slot to the list of slots. ">sigc::signal::connect()</a>.</p>
<dl class="section user"><dt>Example:</dt><dd><div class="fragment"><div class="line"><a class="code" href="classsigc_1_1signal.html">sigc::signal<float,float,float></a> some_signal;</div>
<div class="line">some_signal.<a class="code" href="classsigc_1_1signal7.html#adc55ac9b0f935fd87a67904022e03cb2">connect</a>(<a class="code" href="group__compose.html#ga34cf5da8f6323bfdc41bc7113d6ad20a">sigc::compose</a>(&square_root, &<a class="codeRef" doxygen="/opt/gnome/share/mm-common/doctags/libstdc++.tag:http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a01656.html#ga00295ac42c201866e7178edb6878b316">sum</a>));</div>
-</div><!-- fragment --></dd></dl>
-<p>For a more powerful version of this functionality see the lambda library adaptor <a class="el" href="group__lambdas.html#ga56a5905d189af5fab33d8c456f097a29" title="Alters an arbitrary functor by rebuilding its arguments from 1 lambda expressions. ">sigc::group()</a> which can bind, hide and reorder arguments arbitrarily. Although <a class="el" href="group__lambdas.html#ga56a5905d189af5fab33d8c456f097a29" title="Alters an arbitrary functor by rebuilding its arguments from 1 lambda expressions. ">sigc::group()</a> is more flexible, <a class="el" href="group__bind.html#ga2f099bc6056b32f2a58134ba8537c6f4" title="Creates an adaptor of type sigc::bind_functor which binds the passed argument to the passed functor...">sigc::bind()</a> provides a means of binding parameters when the total number of parameters called is variable. </p>
+</div><!-- fragment --> </dd></dl>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="ga34cf5da8f6323bfdc41bc7113d6ad20a"></a>
<div class="memitem">
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:28 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:28 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
+++ /dev/null
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.9.1"/>
-<title>libsigc++: group()</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-<link href="doxygen-extra.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.9.1 -->
- <div id="navrow1" class="tabs">
- <ul class="tablist">
- <li><a href="index.html"><span>Main Page</span></a></li>
- <li><a href="pages.html"><span>Related Pages</span></a></li>
- <li><a href="modules.html"><span>Modules</span></a></li>
- <li><a href="namespaces.html"><span>Namespaces</span></a></li>
- <li><a href="annotated.html"><span>Classes</span></a></li>
- </ul>
- </div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">group()<div class="ingroups"><a class="el" href="group__adaptors.html">Adaptors</a> | <a class="el" href="group__lambdas.html">Lambdas</a></div></div> </div>
-</div><!--header-->
-<div class="contents">
-
-<p><a class="el" href="group__lambdas.html#ga56a5905d189af5fab33d8c456f097a29" title="Alters an arbitrary functor by rebuilding its arguments from 1 lambda expressions. ">sigc::group()</a> alters an arbitrary functor by rebuilding its arguments from one or more lambda expressions.
-<a href="#details">More...</a></p>
-<p><a class="el" href="group__lambdas.html#ga56a5905d189af5fab33d8c456f097a29" title="Alters an arbitrary functor by rebuilding its arguments from 1 lambda expressions. ">sigc::group()</a> alters an arbitrary functor by rebuilding its arguments from one or more lambda expressions. </p>
-<p>For each parameter that should be passed to the wrapped functor, one lambda expression has to be passed into <a class="el" href="group__lambdas.html#ga993b22c0e13eb536edd9bcc3afd6d949" title="Alters an arbitrary functor by rebuilding its arguments from 3 lambda expressions. ">group()</a>. 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.</p>
-<p>If you have a C++11 compiler, a C++11 lambda expression and/or std::bind() is often a good alternative to <a class="el" href="group__lambdas.html#ga56a5905d189af5fab33d8c456f097a29" title="Alters an arbitrary functor by rebuilding its arguments from 1 lambda expressions. ">sigc::group()</a>. Such alternatives are shown in the following examples, marked with the comment <code>//C++11</code>.</p>
-<dl class="section user"><dt>Examples:</dt><dd><div class="fragment"><div class="line"><span class="keywordtype">void</span> foo(<span class="keywordtype">int</span>, <span class="keywordtype">int</span>);</div>
-<div class="line"><span class="keywordtype">int</span> bar(<span class="keywordtype">int</span>);</div>
-<div class="line"><span class="comment">// argument binding ...</span></div>
-<div class="line"><a class="code" href="group__lambdas.html#ga56a5905d189af5fab33d8c456f097a29">sigc::group</a>(&foo,10,sigc::_1)(20); <span class="comment">//fixes the first argument and calls foo(10,20)</span></div>
-<div class="line"><a class="codeRef" doxygen="/opt/gnome/share/mm-common/doctags/libstdc++.tag:http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a01682.html#ga4c3052b337dde285bace96cbb996055c">std::bind</a>(&foo, 10, std::placeholders::_1)(20); <span class="comment">//C++11</span></div>
-<div class="line"><a class="code" href="group__lambdas.html#ga56a5905d189af5fab33d8c456f097a29">sigc::group</a>(&foo,sigc::_1,30)(40); <span class="comment">//fixes the second argument and calls foo(40,30)</span></div>
-<div class="line"><a class="codeRef" doxygen="/opt/gnome/share/mm-common/doctags/libstdc++.tag:http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a01682.html#ga4c3052b337dde285bace96cbb996055c">std::bind</a>(&foo, std::placeholders::_1, 30)(40); <span class="comment">//C++11</span></div>
-<div class="line"><span class="comment">// argument reordering ...</span></div>
-<div class="line"><a class="code" href="group__lambdas.html#ga56a5905d189af5fab33d8c456f097a29">sigc::group</a>(&foo,sigc::_2,sigc::_1)(1,2); <span class="comment">//calls foo(2,1)</span></div>
-<div class="line"><a class="codeRef" doxygen="/opt/gnome/share/mm-common/doctags/libstdc++.tag:http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a01682.html#ga4c3052b337dde285bace96cbb996055c">std::bind</a>(&foo, std::placeholders::_2, std::placeholders::_1)(1,2); <span class="comment">//C++11</span></div>
-<div class="line"><span class="comment">// argument hiding ...</span></div>
-<div class="line"><a class="code" href="group__lambdas.html#ga56a5905d189af5fab33d8c456f097a29">sigc::group</a>(&foo,sigc::_1,sigc::_2)(1,2,3); <span class="comment">//calls foo(1,2)</span></div>
-<div class="line"><a class="codeRef" doxygen="/opt/gnome/share/mm-common/doctags/libstdc++.tag:http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a01682.html#ga4c3052b337dde285bace96cbb996055c">std::bind</a>(&foo, std::placeholders::_1, std::placeholders::_2)(1,2,3); <span class="comment">//C++11</span></div>
-<div class="line"><span class="comment">// functor composition ...</span></div>
-<div class="line"><a class="code" href="group__lambdas.html#ga56a5905d189af5fab33d8c456f097a29">sigc::group</a>(&foo,sigc::_1,<a class="code" href="group__lambdas.html#ga56a5905d189af5fab33d8c456f097a29">sigc::group</a>(&bar,sigc::_2))(1,2); <span class="comment">//calls foo(1,bar(2))</span></div>
-<div class="line"><a class="codeRef" doxygen="/opt/gnome/share/mm-common/doctags/libstdc++.tag:http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a01682.html#ga4c3052b337dde285bace96cbb996055c">std::bind</a>(&foo, std::placeholders::_1, <a class="codeRef" doxygen="/opt/gnome/share/mm-common/doctags/libstdc++.tag:http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a01682.html#ga4c3052b337dde285bace96cbb996055c">std::bind</a>(&bar, std::placeholders::_2))(1,2); <span class="comment">//C++11</span></div>
-<div class="line"><span class="comment">// algebraic expressions ...</span></div>
-<div class="line"><a class="code" href="group__lambdas.html#ga56a5905d189af5fab33d8c456f097a29">sigc::group</a>(&foo,sigc::_1*sigc::_2,sigc::_1/sigc::_2)(6,3); <span class="comment">//calls foo(6*3,6/3)</span></div>
-<div class="line">[] (<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y) { foo(x*y, x/y); }(6,3); <span class="comment">//C++11</span></div>
-</div><!-- fragment --></dd></dl>
-<p>The functor <a class="el" href="group__lambdas.html#ga56a5905d189af5fab33d8c456f097a29" title="Alters an arbitrary functor by rebuilding its arguments from 1 lambda expressions. ">sigc::group()</a> returns can be passed into <a class="el" href="classsigc_1_1signal7.html#adc55ac9b0f935fd87a67904022e03cb2" title="Add a slot to the list of slots. ">sigc::signal::connect()</a> directly. A C++11 lambda expression can be passed into <a class="el" href="classsigc_1_1signal7.html#adc55ac9b0f935fd87a67904022e03cb2" title="Add a slot to the list of slots. ">sigc::signal::connect()</a> directly, if either it returns <code>void</code>, or you use <a class="el" href="group__sigcfunctors.html#gadf1ba3cacb09cc5c3c3e399836ec6e50" title="Helper macro, if you want to mix user-defined and third party functors with libsigc++. ">SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE</a>.</p>
-<dl class="section user"><dt>Example:</dt><dd><div class="fragment"><div class="line"><a class="code" href="classsigc_1_1signal.html">sigc::signal<void,int,int></a> some_signal;</div>
-<div class="line"><span class="keywordtype">void</span> foo(<span class="keywordtype">int</span>);</div>
-<div class="line">some_signal.<a class="code" href="classsigc_1_1signal7.html#adc55ac9b0f935fd87a67904022e03cb2">connect</a>(<a class="code" href="group__lambdas.html#ga56a5905d189af5fab33d8c456f097a29">sigc::group</a>(&foo,sigc::_2));</div>
-<div class="line">some_signal.<a class="code" href="classsigc_1_1signal7.html#adc55ac9b0f935fd87a67904022e03cb2">connect</a>([](<span class="keywordtype">int</span>, <span class="keywordtype">int</span> y) { foo(y); }); <span class="comment">//C++11</span></div>
-</div><!-- fragment --></dd></dl>
-<p>Like in <a class="el" href="group__bind.html#ga2f099bc6056b32f2a58134ba8537c6f4" title="Creates an adaptor of type sigc::bind_functor which binds the passed argument to the passed functor...">sigc::bind()</a>, you can bind references to functors by passing the objects through the <a class="el" href="namespacesigc.html#a48e982c74c057b5630246ba436524041" title="Creates a reference wrapper. ">sigc::ref()</a> helper function.</p>
-<dl class="section user"><dt>Example:</dt><dd><div class="fragment"><div class="line"><span class="keywordtype">int</span> some_int;</div>
-<div class="line"><a class="code" href="classsigc_1_1signal.html">sigc::signal<void></a> some_signal;</div>
-<div class="line"><span class="keywordtype">void</span> foo(<span class="keywordtype">int</span>&);</div>
-<div class="line">some_signal.<a class="code" href="classsigc_1_1signal7.html#adc55ac9b0f935fd87a67904022e03cb2">connect</a>(<a class="code" href="group__lambdas.html#ga56a5905d189af5fab33d8c456f097a29">sigc::group</a>(&foo,<a class="code" href="namespacesigc.html#a48e982c74c057b5630246ba436524041">sigc::ref</a>(some_int)));</div>
-<div class="line">some_signal.<a class="code" href="classsigc_1_1signal7.html#adc55ac9b0f935fd87a67904022e03cb2">connect</a>([&some_int](){ foo(some_int); }); <span class="comment">//C++11</span></div>
-</div><!-- fragment --></dd></dl>
-<p>If you bind an object of a <a class="el" href="structsigc_1_1trackable.html" title="Base class for objects with auto-disconnection. ">sigc::trackable</a> derived type to a functor by reference, a slot assigned to the group adaptor is cleared automatically when the object goes out of scope.</p>
-<p>If you bind an object of a <a class="el" href="structsigc_1_1trackable.html" title="Base class for objects with auto-disconnection. ">sigc::trackable</a> derived type to a C++11 lambda expression by reference, a slot assigned to the lambda expression is cleared automatically when the object goes out of scope only if you use <a class="el" href="group__track__obj.html#ga8fd1ab36d123ff83dd4cd8dc58bb28e2" title="Creates an adaptor of type sigc::track_obj_functor1 which wraps a functor. ">sigc::track_obj()</a>.</p>
-<dl class="section user"><dt>Example:</dt><dd><div class="fragment"><div class="line"><span class="keyword">struct </span>bar : <span class="keyword">public</span> <a class="code" href="structsigc_1_1trackable.html">sigc::trackable</a> {} some_bar;</div>
-<div class="line"><a class="code" href="classsigc_1_1signal.html">sigc::signal<void></a> some_signal;</div>
-<div class="line"><span class="keywordtype">void</span> foo(bar&);</div>
-<div class="line">some_signal.<a class="code" href="classsigc_1_1signal7.html#adc55ac9b0f935fd87a67904022e03cb2">connect</a>(<a class="code" href="group__lambdas.html#ga56a5905d189af5fab33d8c456f097a29">sigc::group</a>(&foo,<a class="code" href="namespacesigc.html#a48e982c74c057b5630246ba436524041">sigc::ref</a>(some_bar)));</div>
-<div class="line"> <span class="comment">// disconnected automatically if some_bar goes out of scope</span></div>
-<div class="line">some_signal.<a class="code" href="classsigc_1_1signal7.html#adc55ac9b0f935fd87a67904022e03cb2">connect</a>([&some_bar](){ foo(some_bar); }); <span class="comment">//C++11</span></div>
-<div class="line"> <span class="comment">// NOT disconnected automatically if some_bar goes out of scope</span></div>
-<div class="line">some_signal.<a class="code" href="classsigc_1_1signal7.html#adc55ac9b0f935fd87a67904022e03cb2">connect</a>(<a class="code" href="group__track__obj.html#ga8fd1ab36d123ff83dd4cd8dc58bb28e2">sigc::track_obj</a>([&some_bar](){ foo(some_bar); }, some_bar)); <span class="comment">//C++11</span></div>
-<div class="line"> <span class="comment">// disconnected automatically if some_bar goes out of scope</span></div>
-</div><!-- fragment --></dd></dl>
-<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000018">Deprecated:</a></b></dt><dd>Use C++11 lambda expressions or std::bind() instead.</dd></dl>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:28 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.9.1
-</small></address>
-</body>
-</html>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
<p><a class="el" href="group__hide.html#gaf2cefea3a99acd44f68121424103172d" title="Creates an adaptor of type sigc::hide_functor which adds a dummy parameter to the passed functor...">sigc::hide()</a> can be nested in order to discard multiple arguments. </p><dl class="section user"><dt>Example:</dt><dd><div class="fragment"><div class="line"><span class="comment">// multiple argument hiding ...</span></div>
<div class="line"><a class="code" href="group__hide.html#gaf2cefea3a99acd44f68121424103172d">sigc::hide</a>(<a class="code" href="group__hide.html#gaf2cefea3a99acd44f68121424103172d">sigc::hide</a>(&foo))(1,2,3,4); <span class="comment">// adds two dummy parameters at the back and calls foo(1,2)</span></div>
</div><!-- fragment --></dd></dl>
-<p><a class="el" href="group__hide.html#gae4e6f5491471c12440f1c5d480726b98" title="Creates an adaptor of type sigc::retype_return_functor which drops the return value of the passed fun...">sigc::hide_return()</a> alters an arbitrary functor by dropping its return value, thus converting it to a void functor.</p>
-<p>For a more powerful version of this functionality see the lambda library adaptor <a class="el" href="group__lambdas.html#ga56a5905d189af5fab33d8c456f097a29" title="Alters an arbitrary functor by rebuilding its arguments from 1 lambda expressions. ">sigc::group()</a> which can bind, hide and reorder arguments arbitrarily. Although <a class="el" href="group__lambdas.html#ga56a5905d189af5fab33d8c456f097a29" title="Alters an arbitrary functor by rebuilding its arguments from 1 lambda expressions. ">sigc::group()</a> is more flexible, <a class="el" href="group__hide.html#gaf2cefea3a99acd44f68121424103172d" title="Creates an adaptor of type sigc::hide_functor which adds a dummy parameter to the passed functor...">sigc::hide()</a> provides a means of hiding parameters when the total number of parameters called is variable. </p>
+<p><a class="el" href="group__hide.html#gae4e6f5491471c12440f1c5d480726b98" title="Creates an adaptor of type sigc::retype_return_functor which drops the return value of the passed fun...">sigc::hide_return()</a> alters an arbitrary functor by dropping its return value, thus converting it to a void functor. </p>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="gaf2cefea3a99acd44f68121424103172d"></a>
<div class="memitem">
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:28 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
+++ /dev/null
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.9.1"/>
-<title>libsigc++: Lambdas</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-<link href="doxygen-extra.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.9.1 -->
- <div id="navrow1" class="tabs">
- <ul class="tablist">
- <li><a href="index.html"><span>Main Page</span></a></li>
- <li><a href="pages.html"><span>Related Pages</span></a></li>
- <li><a href="modules.html"><span>Modules</span></a></li>
- <li><a href="namespaces.html"><span>Namespaces</span></a></li>
- <li><a href="annotated.html"><span>Classes</span></a></li>
- </ul>
- </div>
-</div><!-- top -->
-<div class="header">
- <div class="summary">
-<a href="#groups">Modules</a> |
-<a href="#nested-classes">Classes</a> |
-<a href="#func-members">Functions</a> </div>
- <div class="headertitle">
-<div class="title">Lambdas</div> </div>
-</div><!--header-->
-<div class="contents">
-
-<p>libsigc++ ships with basic lambda functionality and the <a class="el" href="group__lambdas.html#ga56a5905d189af5fab33d8c456f097a29" title="Alters an arbitrary functor by rebuilding its arguments from 1 lambda expressions. ">sigc::group</a> adaptor, which uses lambdas to transform a functor's parameter list.
-<a href="#details">More...</a></p>
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="groups"></a>
-Modules</h2></td></tr>
-<tr class="memitem:group__group__"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__.html">group()</a></td></tr>
-<tr class="memdesc:group__group__"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="group__lambdas.html#ga56a5905d189af5fab33d8c456f097a29" title="Alters an arbitrary functor by rebuilding its arguments from 1 lambda expressions. ">sigc::group()</a> alters an arbitrary functor by rebuilding its arguments from one or more lambda expressions. <br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
-Classes</h2></td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structsigc_1_1lambda.html">sigc::lambda< T_type ></a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Lambda type. <a href="structsigc_1_1lambda.html#details">More...</a><br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structsigc_1_1lambda__base.html">sigc::lambda_base</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">A hint to the compiler. <a href="structsigc_1_1lambda__base.html#details">More...</a><br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structsigc_1_1lambda__group1.html">sigc::lambda_group1< T_functor, T_type1 ></a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="structsigc_1_1lambda__group1.html" title="lambda_group1 wraps a functor and rebuilds its arguments from 1 lambda expressions. ">lambda_group1</a> wraps a functor and rebuilds its arguments from 1 lambda expressions. <a href="structsigc_1_1lambda__group1.html#details">More...</a><br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structsigc_1_1lambda__group2.html">sigc::lambda_group2< T_functor, T_type1, T_type2 ></a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="structsigc_1_1lambda__group2.html" title="lambda_group2 wraps a functor and rebuilds its arguments from 2 lambda expressions. ">lambda_group2</a> wraps a functor and rebuilds its arguments from 2 lambda expressions. <a href="structsigc_1_1lambda__group2.html#details">More...</a><br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structsigc_1_1lambda__group3.html">sigc::lambda_group3< T_functor, T_type1, T_type2, T_type3 ></a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="structsigc_1_1lambda__group3.html" title="lambda_group3 wraps a functor and rebuilds its arguments from 3 lambda expressions. ">lambda_group3</a> wraps a functor and rebuilds its arguments from 3 lambda expressions. <a href="structsigc_1_1lambda__group3.html#details">More...</a><br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structsigc_1_1unwrap__lambda__type.html">sigc::unwrap_lambda_type< T_type ></a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Deduces the type of the object stored in an object of the passed lambda type. <a href="structsigc_1_1unwrap__lambda__type.html#details">More...</a><br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structsigc_1_1unwrap__lambda__type_3_01lambda_3_01T__type_01_4_01_4.html">sigc::unwrap_lambda_type< lambda< T_type > ></a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Deduces the type of the object stored in an object of the passed lambda type. <a href="structsigc_1_1unwrap__lambda__type_3_01lambda_3_01T__type_01_4_01_4.html#details">More...</a><br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:ga56a5905d189af5fab33d8c456f097a29"><td class="memTemplParams" colspan="2">template<class T_functor , class T_type1 > </td></tr>
-<tr class="memitem:ga56a5905d189af5fab33d8c456f097a29"><td class="memTemplItemLeft" align="right" valign="top">lambda< lambda_group1< T_functor, typename unwrap_reference< T_type1 >::type > > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__lambdas.html#ga56a5905d189af5fab33d8c456f097a29">sigc::group</a> (const T_functor& _A_func, T_type1 _A_1)</td></tr>
-<tr class="memdesc:ga56a5905d189af5fab33d8c456f097a29"><td class="mdescLeft"> </td><td class="mdescRight">Alters an arbitrary functor by rebuilding its arguments from 1 lambda expressions. <a href="#ga56a5905d189af5fab33d8c456f097a29">More...</a><br /></td></tr>
-<tr class="separator:ga56a5905d189af5fab33d8c456f097a29"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:gaadbc8eaf9aa10213c228b53e69f3fead"><td class="memTemplParams" colspan="2">template<class T_functor , class T_type1 , class T_type2 > </td></tr>
-<tr class="memitem:gaadbc8eaf9aa10213c228b53e69f3fead"><td class="memTemplItemLeft" align="right" valign="top">lambda< lambda_group2< T_functor, typename unwrap_reference< T_type1 >::type, typename unwrap_reference< T_type2 >::type > > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__lambdas.html#gaadbc8eaf9aa10213c228b53e69f3fead">sigc::group</a> (const T_functor& _A_func, T_type1 _A_1, T_type2 _A_2)</td></tr>
-<tr class="memdesc:gaadbc8eaf9aa10213c228b53e69f3fead"><td class="mdescLeft"> </td><td class="mdescRight">Alters an arbitrary functor by rebuilding its arguments from 2 lambda expressions. <a href="#gaadbc8eaf9aa10213c228b53e69f3fead">More...</a><br /></td></tr>
-<tr class="separator:gaadbc8eaf9aa10213c228b53e69f3fead"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga993b22c0e13eb536edd9bcc3afd6d949"><td class="memTemplParams" colspan="2">template<class T_functor , class T_type1 , class T_type2 , class T_type3 > </td></tr>
-<tr class="memitem:ga993b22c0e13eb536edd9bcc3afd6d949"><td class="memTemplItemLeft" align="right" valign="top">lambda< lambda_group3< T_functor, typename unwrap_reference< T_type1 >::type, typename unwrap_reference< T_type2 >::type, typename unwrap_reference< T_type3 >::type > > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__lambdas.html#ga993b22c0e13eb536edd9bcc3afd6d949">sigc::group</a> (const T_functor& _A_func, T_type1 _A_1, T_type2 _A_2, T_type3 _A_3)</td></tr>
-<tr class="memdesc:ga993b22c0e13eb536edd9bcc3afd6d949"><td class="mdescLeft"> </td><td class="mdescRight">Alters an arbitrary functor by rebuilding its arguments from 3 lambda expressions. <a href="#ga993b22c0e13eb536edd9bcc3afd6d949">More...</a><br /></td></tr>
-<tr class="separator:ga993b22c0e13eb536edd9bcc3afd6d949"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga5fbbd890bbed369b5a77ef375a34ab47"><td class="memTemplParams" colspan="2">template<class T_type > </td></tr>
-<tr class="memitem:ga5fbbd890bbed369b5a77ef375a34ab47"><td class="memTemplItemLeft" align="right" valign="top">T_type& </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__lambdas.html#ga5fbbd890bbed369b5a77ef375a34ab47">sigc::unwrap_lambda_value</a> (T_type& a)</td></tr>
-<tr class="memdesc:ga5fbbd890bbed369b5a77ef375a34ab47"><td class="mdescLeft"> </td><td class="mdescRight">Gets the object stored inside a lambda object. <a href="#ga5fbbd890bbed369b5a77ef375a34ab47">More...</a><br /></td></tr>
-<tr class="separator:ga5fbbd890bbed369b5a77ef375a34ab47"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga23fcae89c45fa2f28ed2ed421b2249ca"><td class="memTemplParams" colspan="2">template<class T_type > </td></tr>
-<tr class="memitem:ga23fcae89c45fa2f28ed2ed421b2249ca"><td class="memTemplItemLeft" align="right" valign="top">const T_type& </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__lambdas.html#ga23fcae89c45fa2f28ed2ed421b2249ca">sigc::unwrap_lambda_value</a> (const T_type& a)</td></tr>
-<tr class="memdesc:ga23fcae89c45fa2f28ed2ed421b2249ca"><td class="mdescLeft"> </td><td class="mdescRight">Gets the object stored inside a lambda object. <a href="#ga23fcae89c45fa2f28ed2ed421b2249ca">More...</a><br /></td></tr>
-<tr class="separator:ga23fcae89c45fa2f28ed2ed421b2249ca"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga075ab6d364e385be8ff683fb6c24151f"><td class="memTemplParams" colspan="2">template<class T_type > </td></tr>
-<tr class="memitem:ga075ab6d364e385be8ff683fb6c24151f"><td class="memTemplItemLeft" align="right" valign="top">const T_type& </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__lambdas.html#ga075ab6d364e385be8ff683fb6c24151f">sigc::unwrap_lambda_value</a> (const lambda< T_type >& a)</td></tr>
-<tr class="memdesc:ga075ab6d364e385be8ff683fb6c24151f"><td class="mdescLeft"> </td><td class="mdescRight">Gets the object stored inside a lambda object. <a href="#ga075ab6d364e385be8ff683fb6c24151f">More...</a><br /></td></tr>
-<tr class="separator:ga075ab6d364e385be8ff683fb6c24151f"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga8e560e6113af0c1e9f462471c1d502d4"><td class="memTemplParams" colspan="2">template<class T_type > </td></tr>
-<tr class="memitem:ga8e560e6113af0c1e9f462471c1d502d4"><td class="memTemplItemLeft" align="right" valign="top">lambda< T_type& > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__lambdas.html#ga8e560e6113af0c1e9f462471c1d502d4">sigc::var</a> (T_type& v)</td></tr>
-<tr class="memdesc:ga8e560e6113af0c1e9f462471c1d502d4"><td class="mdescLeft"> </td><td class="mdescRight">Converts a reference into a lambda object. <a href="#ga8e560e6113af0c1e9f462471c1d502d4">More...</a><br /></td></tr>
-<tr class="separator:ga8e560e6113af0c1e9f462471c1d502d4"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga5c51a04bb54990fe3d508fa06e574249"><td class="memTemplParams" colspan="2">template<class T_type > </td></tr>
-<tr class="memitem:ga5c51a04bb54990fe3d508fa06e574249"><td class="memTemplItemLeft" align="right" valign="top">lambda< const T_type& > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__lambdas.html#ga5c51a04bb54990fe3d508fa06e574249">sigc::var</a> (const T_type& v)</td></tr>
-<tr class="memdesc:ga5c51a04bb54990fe3d508fa06e574249"><td class="mdescLeft"> </td><td class="mdescRight">Converts a constant reference into a lambda object. <a href="#ga5c51a04bb54990fe3d508fa06e574249">More...</a><br /></td></tr>
-<tr class="separator:ga5c51a04bb54990fe3d508fa06e574249"><td class="memSeparator" colspan="2"> </td></tr>
-</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<p>libsigc++ ships with basic lambda functionality and the <a class="el" href="group__lambdas.html#ga56a5905d189af5fab33d8c456f097a29" title="Alters an arbitrary functor by rebuilding its arguments from 1 lambda expressions. ">sigc::group</a> adaptor, which uses lambdas to transform a functor's parameter list. </p>
-<p>The lambda selectors sigc::_1, sigc::_2, ..., sigc::_7 are used to select the first, second, ..., seventh argument from a list.</p>
-<dl class="section user"><dt>Examples:</dt><dd><div class="fragment"><div class="line">std::cout << sigc::_1(10,20,30); <span class="comment">// returns 10</span></div>
-<div class="line">std::cout << sigc::_2(10,20,30); <span class="comment">// returns 20</span></div>
-</div><!-- fragment --></dd></dl>
-<p>Operators are defined so that, for example, lambda selectors can be used as placeholders in arithmetic expressions.</p>
-<dl class="section user"><dt>Examples:</dt><dd><div class="fragment"><div class="line">std::cout << (sigc::_1 + 5)(3); <span class="comment">// returns (3 + 5)</span></div>
-<div class="line">std::cout << (sigc::_1 * sigc::_2)(7,10); <span class="comment">// returns (7 * 10)</span></div>
-</div><!-- fragment --></dd></dl>
-<p>If your compiler supports C++11 lambda expressions, they are often a good alternative to libsigc++'s lambda expressions. The following examples are equivalent to the previous ones. </p><div class="fragment"><div class="line">[] (<span class="keywordtype">int</span> x, int, int) -> <span class="keywordtype">int</span> { <span class="keywordflow">return</span> x; }(10,20,30); <span class="comment">// returns 10</span></div>
-<div class="line">[] (int, <span class="keywordtype">int</span> y, int) -> <span class="keywordtype">int</span> { <span class="keywordflow">return</span> y; }(10,20,30); <span class="comment">// returns 20</span></div>
-<div class="line">[] (<span class="keywordtype">int</span> x) -> <span class="keywordtype">int</span> { <span class="keywordflow">return</span> x + 5; }(3); <span class="comment">// returns (3 + 5)</span></div>
-<div class="line">[] (<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y) -> <span class="keywordtype">int</span> { <span class="keywordflow">return</span> x * y; }(7,10); <span class="comment">// returns (7 * 10)</span></div>
-</div><!-- fragment --><dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000001">Deprecated:</a></b></dt><dd>Use C++11 lambda expressions or std::bind() instead. </dd></dl>
-<h2 class="groupheader">Function Documentation</h2>
-<a class="anchor" id="ga56a5905d189af5fab33d8c456f097a29"></a>
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template <class T_functor , class T_type1 > </div>
- <table class="memname">
- <tr>
- <td class="memname">lambda<lambda_group1<T_functor, typename unwrap_reference<T_type1>::type> > sigc::group </td>
- <td>(</td>
- <td class="paramtype">const T_functor & </td>
- <td class="paramname"><em>_A_func</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">T_type1 </td>
- <td class="paramname"><em>_A_1</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Alters an arbitrary functor by rebuilding its arguments from 1 lambda expressions. </p>
-<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000022">Deprecated:</a></b></dt><dd>Use C++11 lambda expressions or std::bind() instead.</dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="gaadbc8eaf9aa10213c228b53e69f3fead"></a>
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template <class T_functor , class T_type1 , class T_type2 > </div>
- <table class="memname">
- <tr>
- <td class="memname">lambda<lambda_group2<T_functor, typename unwrap_reference<T_type1>::type, typename unwrap_reference<T_type2>::type> > sigc::group </td>
- <td>(</td>
- <td class="paramtype">const T_functor & </td>
- <td class="paramname"><em>_A_func</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">T_type1 </td>
- <td class="paramname"><em>_A_1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">T_type2 </td>
- <td class="paramname"><em>_A_2</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Alters an arbitrary functor by rebuilding its arguments from 2 lambda expressions. </p>
-<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000023">Deprecated:</a></b></dt><dd>Use C++11 lambda expressions or std::bind() instead.</dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="ga993b22c0e13eb536edd9bcc3afd6d949"></a>
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template <class T_functor , class T_type1 , class T_type2 , class T_type3 > </div>
- <table class="memname">
- <tr>
- <td class="memname">lambda<lambda_group3<T_functor, typename unwrap_reference<T_type1>::type, typename unwrap_reference<T_type2>::type, typename unwrap_reference<T_type3>::type> > sigc::group </td>
- <td>(</td>
- <td class="paramtype">const T_functor & </td>
- <td class="paramname"><em>_A_func</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">T_type1 </td>
- <td class="paramname"><em>_A_1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">T_type2 </td>
- <td class="paramname"><em>_A_2</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">T_type3 </td>
- <td class="paramname"><em>_A_3</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Alters an arbitrary functor by rebuilding its arguments from 3 lambda expressions. </p>
-<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000024">Deprecated:</a></b></dt><dd>Use C++11 lambda expressions or std::bind() instead.</dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="ga5fbbd890bbed369b5a77ef375a34ab47"></a>
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template <class T_type > </div>
- <table class="memname">
- <tr>
- <td class="memname">T_type& sigc::unwrap_lambda_value </td>
- <td>(</td>
- <td class="paramtype">T_type & </td>
- <td class="paramname"><em>a</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Gets the object stored inside a lambda object. </p>
-<p>Returns the object passed as argument, if it is not of type lambda.</p>
-<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000003">Deprecated:</a></b></dt><dd>Use C++11 lambda expressions instead of libsigc++ lambdas.</dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="ga23fcae89c45fa2f28ed2ed421b2249ca"></a>
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template <class T_type > </div>
- <table class="memname">
- <tr>
- <td class="memname">const T_type& sigc::unwrap_lambda_value </td>
- <td>(</td>
- <td class="paramtype">const T_type & </td>
- <td class="paramname"><em>a</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Gets the object stored inside a lambda object. </p>
-<p>Returns the object passed as argument, if it is not of type lambda.</p>
-<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000004">Deprecated:</a></b></dt><dd>Use C++11 lambda expressions instead of libsigc++ lambdas.</dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="ga075ab6d364e385be8ff683fb6c24151f"></a>
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template <class T_type > </div>
- <table class="memname">
- <tr>
- <td class="memname">const T_type& sigc::unwrap_lambda_value </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="structsigc_1_1lambda.html">lambda</a>< T_type >& </td>
- <td class="paramname"><em>a</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Gets the object stored inside a lambda object. </p>
-<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000005">Deprecated:</a></b></dt><dd>Use C++11 lambda expressions instead of libsigc++ lambdas.</dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="ga8e560e6113af0c1e9f462471c1d502d4"></a>
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template <class T_type > </div>
- <table class="memname">
- <tr>
- <td class="memname">lambda<T_type&> sigc::var </td>
- <td>(</td>
- <td class="paramtype">T_type & </td>
- <td class="paramname"><em>v</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Converts a reference into a lambda object. </p>
-<p><a class="el" href="group__lambdas.html#ga8e560e6113af0c1e9f462471c1d502d4" title="Converts a reference into a lambda object. ">sigc::var</a> creates a 0-ary functor, returning the value of a referenced variable.</p>
-<dl class="section user"><dt>Example:</dt><dd><div class="fragment"><div class="line"><span class="keywordtype">int</span> main(<span class="keywordtype">int</span> argc, <span class="keywordtype">char</span>* argv)</div>
-<div class="line">{</div>
-<div class="line"> <span class="keywordtype">int</span> data;</div>
-<div class="line"> <a class="code" href="classsigc_1_1signal.html">sigc::signal<int></a> readValue;</div>
-<div class="line"></div>
-<div class="line"> readValue.<a class="code" href="classsigc_1_1signal7.html#adc55ac9b0f935fd87a67904022e03cb2">connect</a>(<a class="code" href="group__lambdas.html#ga8e560e6113af0c1e9f462471c1d502d4">sigc::var</a>(data));</div>
-<div class="line"></div>
-<div class="line"> data = 3;</div>
-<div class="line"> std::cout << readValue() << <a class="codeRef" doxygen="/opt/gnome/share/mm-common/doctags/libstdc++.tag:http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a01616.html#a8b3758bb8f17c440c7963363f42f69f3">std::endl</a>; <span class="comment">//Prints 3.</span></div>
-<div class="line"></div>
-<div class="line"> data = 5;</div>
-<div class="line"> std::cout << readValue() << <a class="codeRef" doxygen="/opt/gnome/share/mm-common/doctags/libstdc++.tag:http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a01616.html#a8b3758bb8f17c440c7963363f42f69f3">std::endl</a>; <span class="comment">//Prints 5.</span></div>
-<div class="line">}</div>
-</div><!-- fragment --></dd></dl>
-<p>If your compiler supports C++11 lambda expressions, and you use the macro <a class="el" href="group__sigcfunctors.html#gadf1ba3cacb09cc5c3c3e399836ec6e50" title="Helper macro, if you want to mix user-defined and third party functors with libsigc++. ">SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE</a>, you can replace </p><div class="fragment"><div class="line">readValue.<a class="code" href="classsigc_1_1signal7.html#adc55ac9b0f935fd87a67904022e03cb2">connect</a>(<a class="code" href="group__lambdas.html#ga8e560e6113af0c1e9f462471c1d502d4">sigc::var</a>(data));</div>
-</div><!-- fragment --><p> in the example by </p><div class="fragment"><div class="line">readValue.<a class="code" href="classsigc_1_1signal7.html#adc55ac9b0f935fd87a67904022e03cb2">connect</a>([&data] () -> <span class="keywordtype">int</span> { <span class="keywordflow">return</span> data; });</div>
-</div><!-- fragment --><dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000007">Deprecated:</a></b></dt><dd>Use C++11 lambda expressions instead of libsigc++ lambdas.</dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="ga5c51a04bb54990fe3d508fa06e574249"></a>
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template <class T_type > </div>
- <table class="memname">
- <tr>
- <td class="memname">lambda<const T_type&> sigc::var </td>
- <td>(</td>
- <td class="paramtype">const T_type & </td>
- <td class="paramname"><em>v</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Converts a constant reference into a lambda object. </p>
-<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000008">Deprecated:</a></b></dt><dd>Use C++11 lambda expressions instead of libsigc++ lambdas.</dd></dl>
-
-</div>
-</div>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:28 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.9.1
-</small></address>
-</body>
-</html>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:28 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:28 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:28 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classsigc_1_1can__deduce__result__type__with__decltype.html">sigc::can_deduce_result_type_with_decltype< T_functor ></a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Helper macro, to determine if decltype() can deduce the result type of a functor. <a href="classsigc_1_1can__deduce__result__type__with__decltype.html#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structsigc_1_1functor__base.html">sigc::functor_base</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">A hint to the compiler. <a href="structsigc_1_1functor__base.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structsigc_1_1functor__trait.html">sigc::functor_trait< T_functor, I_derives_functor_base ></a></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structsigc_1_1functor__trait.html">sigc::functor_trait< T_functor, I_derives_functor_base, I_can_use_decltype ></a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Trait that specifies the return type of any type. <a href="structsigc_1_1functor__trait.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structsigc_1_1visitor.html">sigc::visitor< T_functor ></a></td></tr>
<ul>
<li>Derive your functors from <a class="el" href="structsigc_1_1functor__base.html" title="A hint to the compiler. ">sigc::functor_base</a> and place <code>typedef T_return result_type;</code> in the class definition.</li>
<li>Use the macro <a class="el" href="group__sigcfunctors.html#ga7a6f5575dc0b0ea896889c782721f6be" title="Helper macro, if you want to mix user-defined and third party functors with libsigc++. ">SIGC_FUNCTOR_TRAIT(T_functor,T_return)</a> in namespace sigc. Multi-type functors are only partly supported.</li>
-<li>Use the macro <a class="el" href="group__sigcfunctors.html#ga93b6ee8815d90adccfdceed72bcda577" title="Helper macro, if you want to mix user-defined and third party functors with libsigc++. ">SIGC_FUNCTORS_HAVE_RESULT_TYPE</a>, if you want libsigc++ to assume that result_type is defined in all user-defined or third party functors, except those for which you specify a return type explicitly with <a class="el" href="group__sigcfunctors.html#ga7a6f5575dc0b0ea896889c782721f6be" title="Helper macro, if you want to mix user-defined and third party functors with libsigc++. ">SIGC_FUNCTOR_TRAIT()</a>.</li>
-<li>Use the macro <a class="el" href="group__sigcfunctors.html#gadf1ba3cacb09cc5c3c3e399836ec6e50" title="Helper macro, if you want to mix user-defined and third party functors with libsigc++. ">SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE</a>, if your compiler makes it possible. Functors with overloaded operator()() are not supported.</li>
+<li>For functors not derived from <a class="el" href="structsigc_1_1functor__base.html" title="A hint to the compiler. ">sigc::functor_base</a>, and not specified with <a class="el" href="group__sigcfunctors.html#ga7a6f5575dc0b0ea896889c782721f6be" title="Helper macro, if you want to mix user-defined and third party functors with libsigc++. ">SIGC_FUNCTOR_TRAIT()</a>, libsigc++ tries to deduce the result type with the C++11 decltype() specifier. That attempt usually succeeds if the functor has a single operator()(), but it fails if operator()() is overloaded.</li>
+<li>Use the macro <a class="el" href="group__sigcfunctors.html#ga93b6ee8815d90adccfdceed72bcda577" title="Helper macro, if you want to mix user-defined and third party functors with libsigc++. ">SIGC_FUNCTORS_HAVE_RESULT_TYPE</a>, if you want libsigc++ to assume that result_type is defined in all user-defined or third party functors, whose result type can't be deduced in any other way.</li>
</ul>
-<p>The last alterative makes it possible to construct a slot from a C++11 lambda expression with any return type. Example: </p><div class="fragment"><div class="line"><span class="keyword">namespace </span><a class="code" href="namespacesigc.html">sigc</a> {</div>
-<div class="line"> <a class="code" href="group__sigcfunctors.html#gadf1ba3cacb09cc5c3c3e399836ec6e50">SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE</a></div>
-<div class="line">}</div>
-<div class="line"><a class="code" href="classsigc_1_1slot.html">sigc::slot<bool, int></a> slot1 = [](<span class="keywordtype">int</span> n)-> <span class="keywordtype">bool</span></div>
-<div class="line"> {</div>
-<div class="line"> <span class="keywordflow">return</span> n == 42;</div>
-<div class="line"> };</div>
-</div><!-- fragment --> <h2 class="groupheader">Macro Definition Documentation</h2>
+<p>If all these ways to deduce the result type fail, void is assumed.</p>
+<p>With libsigc++ versions before 2.6, the macro <a class="el" href="group__sigcfunctors.html#gadf1ba3cacb09cc5c3c3e399836ec6e50" title="Helper macro, if you want to mix user-defined and third party functors with libsigc++. ">SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE</a> activated the test with decltype(). That macro is now unneccesary and deprecated. </p>
+<h2 class="groupheader">Macro Definition Documentation</h2>
<a class="anchor" id="ga7a6f5575dc0b0ea896889c782721f6be"></a>
<div class="memitem">
<div class="memproto">
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> }</div>
</div><!-- fragment --><p>Functors with overloaded operator()() are not supported.</p>
<dl class="since_2_2_11"><dt><b><a class="el" href="since_2_2_11.html#_since_2_2_11000001">Since libsigc++ 2.2.11:</a></b></dt><dd></dd></dl>
-<p>You can't use both SIGC_FUNCTORS_HAVE_RESULT_TYPE and SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE in the same compilation unit. </p>
+<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000001">Deprecated:</a></b></dt><dd>This macro does nothing. The test it activated in libsigc++ versions before 2.6, is now unconditionally activated.</dd></dl>
</div>
</div>
<p>Helper macro, if you want to mix user-defined and third party functors with libsigc++. </p>
<p>If you want to mix functors not derived from <a class="el" href="structsigc_1_1functor__base.html" title="A hint to the compiler. ">sigc::functor_base</a> with libsigc++, and these functors define <code>result_type</code>, use this macro inside namespace sigc like so: </p><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> namespace sigc { SIGC_FUNCTORS_HAVE_RESULT_TYPE }</div>
-</div><!-- fragment --><p>You can't use both SIGC_FUNCTORS_HAVE_RESULT_TYPE and SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE in the same compilation unit. </p>
-
+</div><!-- fragment -->
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:28 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:28 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
<div class="line"> };</div>
<div class="line">m_Dialog.signal_response().connect(on_response);</div>
</div><!-- fragment --><p>If you connect a C++11 lambda expression or a std::function<> instance to a signal or assign it to a slot,</p><ul>
-<li>if the return type is not void, you must use the <a class="el" href="group__sigcfunctors.html#gadf1ba3cacb09cc5c3c3e399836ec6e50" title="Helper macro, if you want to mix user-defined and third party functors with libsigc++. ">SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE</a> macro,</li>
+<li>With libsigc++ versions before 2.6, if the return type is not void, you must use the <a class="el" href="group__sigcfunctors.html#gadf1ba3cacb09cc5c3c3e399836ec6e50" title="Helper macro, if you want to mix user-defined and third party functors with libsigc++. ">SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE</a> macro,</li>
<li>if your functor contains references to <a class="el" href="structsigc_1_1trackable.html" title="Base class for objects with auto-disconnection. ">sigc::trackable</a> derived objects, those objects will not be tracked, unless you also use <a class="el" href="group__track__obj.html#ga8fd1ab36d123ff83dd4cd8dc58bb28e2" title="Creates an adaptor of type sigc::track_obj_functor1 which wraps a functor. ">sigc::track_obj()</a>. </li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:28 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
<p><a class="el" href="group__track__obj.html#ga8fd1ab36d123ff83dd4cd8dc58bb28e2" title="Creates an adaptor of type sigc::track_obj_functor1 which wraps a functor. ">sigc::track_obj()</a> tracks trackable objects, referenced from a functor. </p>
<p>It can be useful when you assign a C++11 lambda expression or a std::function<> to a slot, or connect it to a signal, and the lambda expression or std::function<> contains references to <a class="el" href="structsigc_1_1trackable.html" title="Base class for objects with auto-disconnection. ">sigc::trackable</a> derived objects.</p>
<p>The functor returned by <a class="el" href="group__track__obj.html#ga8fd1ab36d123ff83dd4cd8dc58bb28e2" title="Creates an adaptor of type sigc::track_obj_functor1 which wraps a functor. ">sigc::track_obj()</a> is formally an adaptor, but it does not alter the signature, return type or behaviour of the supplied functor. Up to 7 objects can be tracked. operator()() can have up to 7 arguments.</p>
-<dl class="section user"><dt>Example:</dt><dd><div class="fragment"><div class="line"><span class="keyword">namespace </span><a class="code" href="namespacesigc.html">sigc</a> { <a class="code" href="group__sigcfunctors.html#gadf1ba3cacb09cc5c3c3e399836ec6e50">SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE</a> }</div>
-<div class="line"><span class="keyword">struct </span>bar : <span class="keyword">public</span> <a class="code" href="structsigc_1_1trackable.html">sigc::trackable</a> {};</div>
+<dl class="section user"><dt>Example:</dt><dd><div class="fragment"><div class="line"><span class="keyword">struct </span>bar : <span class="keyword">public</span> <a class="code" href="structsigc_1_1trackable.html">sigc::trackable</a> {};</div>
<div class="line"><a class="code" href="classsigc_1_1signal.html">sigc::signal<void></a> some_signal;</div>
<div class="line"><span class="keywordtype">void</span> foo(bar&);</div>
<div class="line">{</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:28 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
<tr id="row_5_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1const__limit__reference.html" target="_self">sigc::const_limit_reference< T_obj ></a></td><td class="desc"></td></tr>
<tr id="row_6_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1const__limit__reference.html" target="_self">sigc::const_limit_reference< T_wrapped ></a></td><td class="desc"></td></tr>
<tr id="row_7_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1const__volatile__limit__reference.html" target="_self">sigc::const_volatile_limit_reference< T_obj ></a></td><td class="desc"></td></tr>
-<tr id="row_8_" class="even"><td class="entry"><span style="width:0px;display:inline-block;"> </span><span id="arr_8_" class="arrow" onclick="toggleFolder('8_')">▼</span><span class="icona"><span class="icon">C</span></span><b>lambda_core</b></td><td class="desc"></td></tr>
-<tr id="row_8_0_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsigc_1_1lambda.html" target="_self">sigc::lambda< T_type1 ></a></td><td class="desc"></td></tr>
-<tr id="row_8_1_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsigc_1_1lambda.html" target="_self">sigc::lambda< T_type2 ></a></td><td class="desc"></td></tr>
-<tr id="row_8_2_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsigc_1_1lambda.html" target="_self">sigc::lambda< T_type3 ></a></td><td class="desc"></td></tr>
-<tr id="row_8_3_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsigc_1_1lambda.html" target="_self">sigc::lambda< T_type ></a></td><td class="desc">Lambda type </td></tr>
-<tr id="row_9_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1limit__reference.html" target="_self">sigc::limit_reference< T_obj ></a></td><td class="desc"></td></tr>
-<tr id="row_10_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1limit__reference.html" target="_self">sigc::limit_reference< T_wrapped ></a></td><td class="desc"></td></tr>
-<tr id="row_11_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsigc_1_1adaptor__trait.html" target="_self">sigc::adaptor_trait< T_functor, I_isadaptor ></a></td><td class="desc">Trait that specifies what is the adaptor version of a functor type </td></tr>
-<tr id="row_12_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsigc_1_1adaptor__trait_3_01T__functor_00_01false_01_4.html" target="_self">sigc::adaptor_trait< T_functor, false ></a></td><td class="desc">Trait that specifies what is the adaptor version of a functor type </td></tr>
-<tr id="row_13_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsigc_1_1adaptor__trait_3_01T__functor_00_01true_01_4.html" target="_self">sigc::adaptor_trait< T_functor, true ></a></td><td class="desc">Trait that specifies what is the adaptor version of a functor type </td></tr>
-<tr id="row_14_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsigc_1_1bind__functor.html" target="_self">sigc::bind_functor< I_location, T_functor, T_type1, T_type2, T_type3, T_type4, T_type5, T_type6, T_type7 ></a></td><td class="desc">Adaptor that binds an argument to the wrapped functor </td></tr>
-<tr id="row_15_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1bound__argument.html" target="_self">sigc::bound_argument< T_type ></a></td><td class="desc">A bound_argument<Foo> object stores a bound (for instance, with <a class="el" href="group__bind.html#ga2f099bc6056b32f2a58134ba8537c6f4" title="Creates an adaptor of type sigc::bind_functor which binds the passed argument to the passed functor...">sigc::bind()</a>, or <a class="el" href="group__bind.html#gaca1ae2466988d67d00a5f2cd16c8d90a" title="Creates an adaptor of type sigc::bind_return_functor which fixes the return value of the passed funct...">sigc::bind_return()</a>) argument </td></tr>
-<tr id="row_16_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1bound__argument_3_01const__reference__wrapper_3_01T__wrapped_01_4_01_4.html" target="_self">sigc::bound_argument< const_reference_wrapper< T_wrapped > ></a></td><td class="desc">Bound_argument object for a bound argument that is passed by <a class="el" href="group__bind.html#ga2f099bc6056b32f2a58134ba8537c6f4" title="Creates an adaptor of type sigc::bind_functor which binds the passed argument to the passed functor...">bind()</a> or returned by <a class="el" href="group__bind.html#gaca1ae2466988d67d00a5f2cd16c8d90a" title="Creates an adaptor of type sigc::bind_return_functor which fixes the return value of the passed funct...">bind_return()</a> by const reference, specialized for const reference_wrapper<> types </td></tr>
-<tr id="row_17_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1bound__argument_3_01reference__wrapper_3_01T__wrapped_01_4_01_4.html" target="_self">sigc::bound_argument< reference_wrapper< T_wrapped > ></a></td><td class="desc">Bound_argument object for a bound argument that is passed by <a class="el" href="group__bind.html#ga2f099bc6056b32f2a58134ba8537c6f4" title="Creates an adaptor of type sigc::bind_functor which binds the passed argument to the passed functor...">bind()</a> or returned by <a class="el" href="group__bind.html#gaca1ae2466988d67d00a5f2cd16c8d90a" title="Creates an adaptor of type sigc::bind_return_functor which fixes the return value of the passed funct...">bind_return()</a> by reference, specialized for reference_wrapper<> types </td></tr>
+<tr id="row_8_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1limit__reference.html" target="_self">sigc::limit_reference< T_obj ></a></td><td class="desc"></td></tr>
+<tr id="row_9_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1limit__reference.html" target="_self">sigc::limit_reference< T_wrapped ></a></td><td class="desc"></td></tr>
+<tr id="row_10_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsigc_1_1adaptor__trait.html" target="_self">sigc::adaptor_trait< T_functor, I_isadaptor ></a></td><td class="desc">Trait that specifies what is the adaptor version of a functor type </td></tr>
+<tr id="row_11_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsigc_1_1adaptor__trait_3_01T__functor_00_01false_01_4.html" target="_self">sigc::adaptor_trait< T_functor, false ></a></td><td class="desc">Trait that specifies what is the adaptor version of a functor type </td></tr>
+<tr id="row_12_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsigc_1_1adaptor__trait_3_01T__functor_00_01true_01_4.html" target="_self">sigc::adaptor_trait< T_functor, true ></a></td><td class="desc">Trait that specifies what is the adaptor version of a functor type </td></tr>
+<tr id="row_13_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsigc_1_1bind__functor.html" target="_self">sigc::bind_functor< I_location, T_functor, T_type1, T_type2, T_type3, T_type4, T_type5, T_type6, T_type7 ></a></td><td class="desc">Adaptor that binds an argument to the wrapped functor </td></tr>
+<tr id="row_14_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1bound__argument.html" target="_self">sigc::bound_argument< T_type ></a></td><td class="desc">A bound_argument<Foo> object stores a bound (for instance, with <a class="el" href="group__bind.html#ga2f099bc6056b32f2a58134ba8537c6f4" title="Creates an adaptor of type sigc::bind_functor which binds the passed argument to the passed functor...">sigc::bind()</a>, or <a class="el" href="group__bind.html#gaca1ae2466988d67d00a5f2cd16c8d90a" title="Creates an adaptor of type sigc::bind_return_functor which fixes the return value of the passed funct...">sigc::bind_return()</a>) argument </td></tr>
+<tr id="row_15_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1bound__argument_3_01const__reference__wrapper_3_01T__wrapped_01_4_01_4.html" target="_self">sigc::bound_argument< const_reference_wrapper< T_wrapped > ></a></td><td class="desc">Bound_argument object for a bound argument that is passed by <a class="el" href="group__bind.html#ga2f099bc6056b32f2a58134ba8537c6f4" title="Creates an adaptor of type sigc::bind_functor which binds the passed argument to the passed functor...">bind()</a> or returned by <a class="el" href="group__bind.html#gaca1ae2466988d67d00a5f2cd16c8d90a" title="Creates an adaptor of type sigc::bind_return_functor which fixes the return value of the passed funct...">bind_return()</a> by const reference, specialized for const reference_wrapper<> types </td></tr>
+<tr id="row_16_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1bound__argument_3_01reference__wrapper_3_01T__wrapped_01_4_01_4.html" target="_self">sigc::bound_argument< reference_wrapper< T_wrapped > ></a></td><td class="desc">Bound_argument object for a bound argument that is passed by <a class="el" href="group__bind.html#ga2f099bc6056b32f2a58134ba8537c6f4" title="Creates an adaptor of type sigc::bind_functor which binds the passed argument to the passed functor...">bind()</a> or returned by <a class="el" href="group__bind.html#gaca1ae2466988d67d00a5f2cd16c8d90a" title="Creates an adaptor of type sigc::bind_return_functor which fixes the return value of the passed funct...">bind_return()</a> by reference, specialized for reference_wrapper<> types </td></tr>
+<tr id="row_17_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1can__deduce__result__type__with__decltype.html" target="_self">sigc::can_deduce_result_type_with_decltype< T_functor ></a></td><td class="desc">Helper macro, to determine if decltype() can deduce the result type of a functor </td></tr>
<tr id="row_18_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsigc_1_1connection.html" target="_self">sigc::connection</a></td><td class="desc">Convinience class for safe disconnection </td></tr>
<tr id="row_19_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1const__limit__reference.html" target="_self">sigc::const_limit_reference< T_type, I_derives_trackable ></a></td><td class="desc">A const_limit_reference<Foo> object stores a reference (Foo&), but make sure that, if Foo inherits from <a class="el" href="structsigc_1_1trackable.html" title="Base class for objects with auto-disconnection. ">sigc::trackable</a>, then <a class="el" href="group__sigcfunctors.html#ga64cb7832acc1e58efb5ffe0b4f5e9404" title="This function performs a functor on each of the targets of a functor. ">visit_each<>()</a> will "limit" itself to the <a class="el" href="structsigc_1_1trackable.html" title="Base class for objects with auto-disconnection. ">sigc::trackable</a> reference instead of the derived reference </td></tr>
<tr id="row_20_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1const__limit__reference_3_01T__type_00_01true_01_4.html" target="_self">sigc::const_limit_reference< T_type, true ></a></td><td class="desc">Const_limit_reference object for a class that derives from trackable </td></tr>
<tr id="row_25_0_2_10_3_" style="display:none;"><td class="entry"><span style="width:80px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1track__obj__functor5.html" target="_self">sigc::track_obj_functor5< T_functor, T_obj1, T_obj2, T_obj3, T_obj4, T_obj5 ></a></td><td class="desc">Track_obj_functor5 wraps a functor and stores 5 references to trackable objects </td></tr>
<tr id="row_25_0_2_10_4_" style="display:none;"><td class="entry"><span style="width:80px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1track__obj__functor6.html" target="_self">sigc::track_obj_functor6< T_functor, T_obj1, T_obj2, T_obj3, T_obj4, T_obj5, T_obj6 ></a></td><td class="desc">Track_obj_functor6 wraps a functor and stores 6 references to trackable objects </td></tr>
<tr id="row_25_0_2_10_5_" style="display:none;"><td class="entry"><span style="width:80px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1track__obj__functor7.html" target="_self">sigc::track_obj_functor7< T_functor, T_obj1, T_obj2, T_obj3, T_obj4, T_obj5, T_obj6, T_obj7 ></a></td><td class="desc">Track_obj_functor7 wraps a functor and stores 7 references to trackable objects </td></tr>
-<tr id="row_25_0_3_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_25_0_3_" class="arrow" onclick="toggleFolder('25_0_3_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsigc_1_1lambda__base.html" target="_self">sigc::lambda_base</a></td><td class="desc">A hint to the compiler </td></tr>
-<tr id="row_25_0_3_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsigc_1_1lambda__group1.html" target="_self">sigc::lambda_group1< T_functor, T_type1 ></a></td><td class="desc">Lambda_group1 wraps a functor and rebuilds its arguments from 1 lambda expressions </td></tr>
-<tr id="row_25_0_3_1_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsigc_1_1lambda__group2.html" target="_self">sigc::lambda_group2< T_functor, T_type1, T_type2 ></a></td><td class="desc">Lambda_group2 wraps a functor and rebuilds its arguments from 2 lambda expressions </td></tr>
-<tr id="row_25_0_3_2_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsigc_1_1lambda__group3.html" target="_self">sigc::lambda_group3< T_functor, T_type1, T_type2, T_type3 ></a></td><td class="desc">Lambda_group3 wraps a functor and rebuilds its arguments from 3 lambda expressions </td></tr>
<tr id="row_25_1_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span id="arr_25_1_" class="arrow" onclick="toggleFolder('25_1_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1const__mem__functor0.html" target="_self">sigc::const_mem_functor0< T_return, T_obj ></a></td><td class="desc">Const_mem_functor0 wraps const methods with 0 argument(s) </td></tr>
<tr id="row_25_1_0_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1bound__const__mem__functor0.html" target="_self">sigc::bound_const_mem_functor0< T_return, T_obj ></a></td><td class="desc">Bound_const_mem_functor0 encapsulates a const method with 0 arguments and an object instance </td></tr>
<tr id="row_25_2_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span id="arr_25_2_" class="arrow" onclick="toggleFolder('25_2_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1const__mem__functor1.html" target="_self">sigc::const_mem_functor1< T_return, T_obj, T_arg1 ></a></td><td class="desc">Const_mem_functor1 wraps const methods with 1 argument(s) </td></tr>
<tr id="row_25_40_0_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1bound__volatile__mem__functor6.html" target="_self">sigc::bound_volatile_mem_functor6< T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6 ></a></td><td class="desc">Bound_volatile_mem_functor6 encapsulates a volatile method with 6 arguments and an object instance </td></tr>
<tr id="row_25_41_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span id="arr_25_41_" class="arrow" onclick="toggleFolder('25_41_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1volatile__mem__functor7.html" target="_self">sigc::volatile_mem_functor7< T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7 ></a></td><td class="desc">Volatile_mem_functor7 wraps volatile methods with 7 argument(s) </td></tr>
<tr id="row_25_41_0_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1bound__volatile__mem__functor7.html" target="_self">sigc::bound_volatile_mem_functor7< T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7 ></a></td><td class="desc">Bound_volatile_mem_functor7 encapsulates a volatile method with 7 arguments and an object instance </td></tr>
-<tr id="row_26_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsigc_1_1functor__trait.html" target="_self">sigc::functor_trait< T_functor, I_derives_functor_base ></a></td><td class="desc">Trait that specifies the return type of any type </td></tr>
+<tr id="row_26_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsigc_1_1functor__trait.html" target="_self">sigc::functor_trait< T_functor, I_derives_functor_base, I_can_use_decltype ></a></td><td class="desc">Trait that specifies the return type of any type </td></tr>
<tr id="row_27_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsigc_1_1hide__functor.html" target="_self">sigc::hide_functor< I_location, T_functor ></a></td><td class="desc">Adaptor that adds a dummy parameter to the wrapped functor </td></tr>
<tr id="row_28_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsigc_1_1is__base__and__derived.html" target="_self">sigc::is_base_and_derived< T_base, T_derived ></a></td><td class="desc">Compile-time determination of base-class relationship in C++ (adapted to match the syntax of boost's type_traits library) </td></tr>
<tr id="row_29_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsigc_1_1is__base__and__derived_3_01T__base_00_01T__base_01_4.html" target="_self">sigc::is_base_and_derived< T_base, T_base ></a></td><td class="desc"></td></tr>
<tr id="row_40_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsigc_1_1type__trait_3_01T__type_01_6_01_4.html" target="_self">sigc::type_trait< T_type& ></a></td><td class="desc"></td></tr>
<tr id="row_41_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsigc_1_1type__trait_3_01T__type[N]_4.html" target="_self">sigc::type_trait< T_type[N]></a></td><td class="desc"></td></tr>
<tr id="row_42_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsigc_1_1type__trait_3_01void_01_4.html" target="_self">sigc::type_trait< void ></a></td><td class="desc"></td></tr>
-<tr id="row_43_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsigc_1_1unwrap__lambda__type.html" target="_self">sigc::unwrap_lambda_type< T_type ></a></td><td class="desc">Deduces the type of the object stored in an object of the passed lambda type </td></tr>
-<tr id="row_44_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsigc_1_1unwrap__lambda__type_3_01lambda_3_01T__type_01_4_01_4.html" target="_self">sigc::unwrap_lambda_type< lambda< T_type > ></a></td><td class="desc">Deduces the type of the object stored in an object of the passed lambda type </td></tr>
-<tr id="row_45_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsigc_1_1unwrap__reference.html" target="_self">sigc::unwrap_reference< T_type ></a></td><td class="desc"></td></tr>
-<tr id="row_46_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsigc_1_1unwrap__reference_3_01const__reference__wrapper_3_01T__type_01_4_01_4.html" target="_self">sigc::unwrap_reference< const_reference_wrapper< T_type > ></a></td><td class="desc"></td></tr>
-<tr id="row_47_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsigc_1_1unwrap__reference_3_01reference__wrapper_3_01T__type_01_4_01_4.html" target="_self">sigc::unwrap_reference< reference_wrapper< T_type > ></a></td><td class="desc"></td></tr>
-<tr id="row_48_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsigc_1_1visitor.html" target="_self">sigc::visitor< T_functor ></a></td><td class="desc">Sigc::visitor<T_functor>::do_visit_each() performs a functor on each of the targets of a functor </td></tr>
-<tr id="row_49_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1volatile__limit__reference.html" target="_self">sigc::volatile_limit_reference< T_type, I_derives_trackable ></a></td><td class="desc">A volatile_limit_reference<Foo> object stores a reference (Foo&), but make sure that, if Foo inherits from <a class="el" href="structsigc_1_1trackable.html" title="Base class for objects with auto-disconnection. ">sigc::trackable</a>, then <a class="el" href="group__sigcfunctors.html#ga64cb7832acc1e58efb5ffe0b4f5e9404" title="This function performs a functor on each of the targets of a functor. ">visit_each<>()</a> will "limit" itself to the <a class="el" href="structsigc_1_1trackable.html" title="Base class for objects with auto-disconnection. ">sigc::trackable</a> reference instead of the derived reference </td></tr>
-<tr id="row_50_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1volatile__limit__reference_3_01T__type_00_01true_01_4.html" target="_self">sigc::volatile_limit_reference< T_type, true ></a></td><td class="desc">Volatile_limit_reference object for a class that derives from trackable </td></tr>
-<tr id="row_51_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1volatile__limit__reference.html" target="_self">sigc::volatile_limit_reference< T_obj ></a></td><td class="desc"></td></tr>
+<tr id="row_43_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsigc_1_1unwrap__reference.html" target="_self">sigc::unwrap_reference< T_type ></a></td><td class="desc"></td></tr>
+<tr id="row_44_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsigc_1_1unwrap__reference_3_01const__reference__wrapper_3_01T__type_01_4_01_4.html" target="_self">sigc::unwrap_reference< const_reference_wrapper< T_type > ></a></td><td class="desc"></td></tr>
+<tr id="row_45_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsigc_1_1unwrap__reference_3_01reference__wrapper_3_01T__type_01_4_01_4.html" target="_self">sigc::unwrap_reference< reference_wrapper< T_type > ></a></td><td class="desc"></td></tr>
+<tr id="row_46_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsigc_1_1visitor.html" target="_self">sigc::visitor< T_functor ></a></td><td class="desc">Sigc::visitor<T_functor>::do_visit_each() performs a functor on each of the targets of a functor </td></tr>
+<tr id="row_47_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1volatile__limit__reference.html" target="_self">sigc::volatile_limit_reference< T_type, I_derives_trackable ></a></td><td class="desc">A volatile_limit_reference<Foo> object stores a reference (Foo&), but make sure that, if Foo inherits from <a class="el" href="structsigc_1_1trackable.html" title="Base class for objects with auto-disconnection. ">sigc::trackable</a>, then <a class="el" href="group__sigcfunctors.html#ga64cb7832acc1e58efb5ffe0b4f5e9404" title="This function performs a functor on each of the targets of a functor. ">visit_each<>()</a> will "limit" itself to the <a class="el" href="structsigc_1_1trackable.html" title="Base class for objects with auto-disconnection. ">sigc::trackable</a> reference instead of the derived reference </td></tr>
+<tr id="row_48_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1volatile__limit__reference_3_01T__type_00_01true_01_4.html" target="_self">sigc::volatile_limit_reference< T_type, true ></a></td><td class="desc">Volatile_limit_reference object for a class that derives from trackable </td></tr>
+<tr id="row_49_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsigc_1_1volatile__limit__reference.html" target="_self">sigc::volatile_limit_reference< T_obj ></a></td><td class="desc"></td></tr>
</table>
</div><!-- directory -->
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
<div class="textblock"><h1><a class="anchor" id="description"></a>
Description</h1>
<p>libsigc++ provides a typesafe (at compile time) callback system for standard C++. It allows you to define signals and to connect those signals to any callback function, either a global or a member function, regardless of whether it is static or virtual. It also contains adaptor classes for connection of dissimilar callbacks.</p>
-<p>For instance, see the <a class="el" href="group__signal.html">Signals</a>, <a class="el" href="group__sigcfunctors.html">Functors</a>, <a class="el" href="group__slot.html">Slots</a>, <a class="el" href="group__adaptors.html">Adaptors</a>, and <a class="el" href="group__lambdas.html">Lambdas</a>.</p>
+<p>For instance, see the <a class="el" href="group__signal.html">Signals</a>, <a class="el" href="group__sigcfunctors.html">Functors</a>, <a class="el" href="group__slot.html">Slots</a> and <a class="el" href="group__adaptors.html">Adaptors</a>.</p>
<p>See also the <a href="http://libsigc.sourceforge.net/libsigc2/docs/manual/html/index.html">libsigc++ tutorial</a>, the <a href="http://libsigc.sourceforge.net/">libsigc++ website</a>, and the <a href="http://library.gnome.org/devel/gtkmm-tutorial/unstable/chapter-signals.html">Signals appendix of the Programming with gtkmm book</a>.</p>
<h1><a class="anchor" id="features"></a>
Features</h1>
<li>Extendable API at any level: signal, slot, connection and trackable</li>
<li>Extensions do not require alteration of basic components</li>
<li>User-definable accumulators</li>
-<li>A variety of adaptors to change the callback signature: bind, hide, retype, compose and lambda call groups</li>
+<li>A variety of adaptors to change the callback signature: bind, hide, retype, and compose</li>
</ul>
<h1><a class="anchor" id="basics"></a>
Basic Usage</h1>
</div></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
<map name="sigc_1_1bound__argument_3_01T__type1_01_4" id="sigc_1_1bound__argument_3_01T__type1_01_4">
<area shape="rect" id="node1" href="classsigc_1_1bound__argument.html" title="sigc::bound_argument\l\< T_type1 \>" alt="" coords="5,5,171,47"/></map>
</td></tr>
-<tr><td><img src="inherit_graph_12.png" border="0" alt="" usemap="#sigc_1_1connection"/>
+<tr><td><img src="inherit_graph_12.png" border="0" alt="" usemap="#sigc_1_1can__deduce__result__type__with__decltype_3_01T__functor_01_4"/>
+<map name="sigc_1_1can__deduce__result__type__with__decltype_3_01T__functor_01_4" id="sigc_1_1can__deduce__result__type__with__decltype_3_01T__functor_01_4">
+<area shape="rect" id="node1" href="classsigc_1_1can__deduce__result__type__with__decltype.html" title="Helper macro, to determine if decltype() can deduce the result type of a functor. ..." alt="" coords="5,5,180,61"/></map>
+</td></tr>
+<tr><td><img src="inherit_graph_13.png" border="0" alt="" usemap="#sigc_1_1connection"/>
<map name="sigc_1_1connection" id="sigc_1_1connection">
<area shape="rect" id="node1" href="structsigc_1_1connection.html" title="Convinience class for safe disconnection. " alt="" coords="5,5,131,32"/></map>
</td></tr>
-<tr><td><img src="inherit_graph_13.png" border="0" alt="" usemap="#sigc_1_1const__limit__reference_3_01T__obj_01_4"/>
+<tr><td><img src="inherit_graph_14.png" border="0" alt="" usemap="#sigc_1_1const__limit__reference_3_01T__obj_01_4"/>
<map name="sigc_1_1const__limit__reference_3_01T__obj_01_4" id="sigc_1_1const__limit__reference_3_01T__obj_01_4">
<area shape="rect" id="node1" href="classsigc_1_1const__limit__reference.html" title="sigc::const_limit_reference\l\< T_obj \>" alt="" coords="5,5,197,47"/></map>
</td></tr>
-<tr><td><img src="inherit_graph_14.png" border="0" alt="" usemap="#sigc_1_1const__limit__reference_3_01T__type_00_01I__derives__trackable_01_4"/>
+<tr><td><img src="inherit_graph_15.png" border="0" alt="" usemap="#sigc_1_1const__limit__reference_3_01T__type_00_01I__derives__trackable_01_4"/>
<map name="sigc_1_1const__limit__reference_3_01T__type_00_01I__derives__trackable_01_4" id="sigc_1_1const__limit__reference_3_01T__type_00_01I__derives__trackable_01_4">
<area shape="rect" id="node1" href="classsigc_1_1const__limit__reference.html" title="A const_limit_reference<Foo> object stores a reference (Foo&), but make sure that, if Foo inherits from sigc::trackable, then visit_each<>() will "limit" itself to the sigc::trackable reference instead of the derived reference. " alt="" coords="5,5,229,47"/></map>
</td></tr>
-<tr><td><img src="inherit_graph_15.png" border="0" alt="" usemap="#sigc_1_1const__limit__reference_3_01T__type_00_01true_01_4"/>
+<tr><td><img src="inherit_graph_16.png" border="0" alt="" usemap="#sigc_1_1const__limit__reference_3_01T__type_00_01true_01_4"/>
<map name="sigc_1_1const__limit__reference_3_01T__type_00_01true_01_4" id="sigc_1_1const__limit__reference_3_01T__type_00_01true_01_4">
<area shape="rect" id="node1" href="classsigc_1_1const__limit__reference_3_01T__type_00_01true_01_4.html" title="const_limit_reference object for a class that derives from trackable. " alt="" coords="5,5,197,47"/></map>
</td></tr>
-<tr><td><img src="inherit_graph_16.png" border="0" alt="" usemap="#sigc_1_1const__limit__reference_3_01T__wrapped_01_4"/>
+<tr><td><img src="inherit_graph_17.png" border="0" alt="" usemap="#sigc_1_1const__limit__reference_3_01T__wrapped_01_4"/>
<map name="sigc_1_1const__limit__reference_3_01T__wrapped_01_4" id="sigc_1_1const__limit__reference_3_01T__wrapped_01_4">
<area shape="rect" id="node1" href="classsigc_1_1const__limit__reference.html" title="sigc::const_limit_reference\l\< T_wrapped \>" alt="" coords="5,5,197,47"/></map>
</td></tr>
-<tr><td><img src="inherit_graph_17.png" border="0" alt="" usemap="#sigc_1_1const__reference__wrapper_3_01T__type_01_4"/>
+<tr><td><img src="inherit_graph_18.png" border="0" alt="" usemap="#sigc_1_1const__reference__wrapper_3_01T__type_01_4"/>
<map name="sigc_1_1const__reference__wrapper_3_01T__type_01_4" id="sigc_1_1const__reference__wrapper_3_01T__type_01_4">
<area shape="rect" id="node1" href="structsigc_1_1const__reference__wrapper.html" title="Const reference wrapper. " alt="" coords="5,5,164,47"/></map>
</td></tr>
-<tr><td><img src="inherit_graph_18.png" border="0" alt="" usemap="#sigc_1_1const__volatile__limit__reference_3_01T__obj_01_4"/>
+<tr><td><img src="inherit_graph_19.png" border="0" alt="" usemap="#sigc_1_1const__volatile__limit__reference_3_01T__obj_01_4"/>
<map name="sigc_1_1const__volatile__limit__reference_3_01T__obj_01_4" id="sigc_1_1const__volatile__limit__reference_3_01T__obj_01_4">
<area shape="rect" id="node1" href="classsigc_1_1const__volatile__limit__reference.html" title="sigc::const_volatile\l_limit_reference\< T_obj \>" alt="" coords="5,5,192,47"/></map>
</td></tr>
-<tr><td><img src="inherit_graph_19.png" border="0" alt="" usemap="#sigc_1_1const__volatile__limit__reference_3_01T__type_00_01I__derives__trackable_01_4"/>
+<tr><td><img src="inherit_graph_20.png" border="0" alt="" usemap="#sigc_1_1const__volatile__limit__reference_3_01T__type_00_01I__derives__trackable_01_4"/>
<map name="sigc_1_1const__volatile__limit__reference_3_01T__type_00_01I__derives__trackable_01_4" id="sigc_1_1const__volatile__limit__reference_3_01T__type_00_01I__derives__trackable_01_4">
<area shape="rect" id="node1" href="classsigc_1_1const__volatile__limit__reference.html" title="A const_volatile_limit_reference<Foo> object stores a reference (Foo&), but make sure that..." alt="" coords="5,5,191,61"/></map>
</td></tr>
-<tr><td><img src="inherit_graph_20.png" border="0" alt="" usemap="#sigc_1_1const__volatile__limit__reference_3_01T__type_00_01true_01_4"/>
+<tr><td><img src="inherit_graph_21.png" border="0" alt="" usemap="#sigc_1_1const__volatile__limit__reference_3_01T__type_00_01true_01_4"/>
<map name="sigc_1_1const__volatile__limit__reference_3_01T__type_00_01true_01_4" id="sigc_1_1const__volatile__limit__reference_3_01T__type_00_01true_01_4">
<area shape="rect" id="node1" href="classsigc_1_1const__volatile__limit__reference_3_01T__type_00_01true_01_4.html" title="const_volatile_limit_reference object for a class that derives from trackable. " alt="" coords="5,5,191,61"/></map>
</td></tr>
-<tr><td><img src="inherit_graph_21.png" border="0" alt="" usemap="#sigc_1_1deduce__result__type_3_01T__functor_00_01T__arg1_00_01T__arg2_00_01T__arg3_00_01T__arg4_00_01T__arg5_00_01T__arg6_00_01T__arg7_00_01I__derives__adaptor__base_01_4"/>
+<tr><td><img src="inherit_graph_22.png" border="0" alt="" usemap="#sigc_1_1deduce__result__type_3_01T__functor_00_01T__arg1_00_01T__arg2_00_01T__arg3_00_01T__arg4_00_01T__arg5_00_01T__arg6_00_01T__arg7_00_01I__derives__adaptor__base_01_4"/>
<map name="sigc_1_1deduce__result__type_3_01T__functor_00_01T__arg1_00_01T__arg2_00_01T__arg3_00_01T__arg4_00_01T__arg5_00_01T__arg6_00_01T__arg7_00_01I__derives__adaptor__base_01_4" id="sigc_1_1deduce__result__type_3_01T__functor_00_01T__arg1_00_01T__arg2_00_01T__arg3_00_01T__arg4_00_01T__arg5_00_01T__arg6_00_01T__arg7_00_01I__derives__adaptor__base_01_4">
<area shape="rect" id="node1" href="structsigc_1_1deduce__result__type.html" title="Deduce the return type of a functor. " alt="" coords="5,5,248,91"/></map>
</td></tr>
-<tr><td><img src="inherit_graph_22.png" border="0" alt="" usemap="#sigc_1_1functor__base"/>
+<tr><td><img src="inherit_graph_23.png" border="0" alt="" usemap="#sigc_1_1functor__base"/>
<map name="sigc_1_1functor__base" id="sigc_1_1functor__base">
-<area shape="rect" id="node1" href="structsigc_1_1functor__base.html" title="A hint to the compiler. " alt="" coords="5,2778,144,2805"/><area shape="rect" id="node2" href="structsigc_1_1adaptor__base.html" title="A hint to the compiler. " alt="" coords="224,573,367,599"/><area shape="rect" id="node29" href="classsigc_1_1const__mem__functor0.html" title="const_mem_functor0 wraps const methods with 0 argument(s). " alt="" coords="200,1047,391,1088"/><area shape="rect" id="node31" href="classsigc_1_1const__mem__functor1.html" title="const_mem_functor1 wraps const methods with 1 argument(s). " alt="" coords="197,1124,394,1165"/><area shape="rect" id="node33" href="classsigc_1_1const__mem__functor2.html" title="const_mem_functor2 wraps const methods with 2 argument(s). " alt="" coords="200,1197,391,1253"/><area shape="rect" id="node35" href="classsigc_1_1const__mem__functor3.html" title="const_mem_functor3 wraps const methods with 3 argument(s). " alt="" coords="200,1286,391,1342"/><area shape="rect" id="node37" href="classsigc_1_1const__mem__functor4.html" title="const_mem_functor4 wraps const methods with 4 argument(s). " alt="" coords="200,1375,391,1431"/><area shape="rect" id="node39" href="classsigc_1_1const__mem__functor5.html" title="const_mem_functor5 wraps const methods with 5 argument(s). " alt="" coords="200,1461,391,1532"/><area shape="rect" id="node41" href="classsigc_1_1const__mem__functor6.html" title="const_mem_functor6 wraps const methods with 6 argument(s). " alt="" coords="200,1560,391,1631"/><area shape="rect" id="node43" href="classsigc_1_1const__mem__functor7.html" title="const_mem_functor7 wraps const methods with 7 argument(s). " alt="" coords="200,1655,391,1725"/><area shape="rect" id="node45" href="classsigc_1_1const__volatile__mem__functor0.html" title="const_volatile_mem_functor0 wraps const volatile methods with 0 argument(s). " alt="" coords="198,1750,393,1806"/><area shape="rect" id="node47" href="classsigc_1_1const__volatile__mem__functor1.html" title="const_volatile_mem_functor1 wraps const volatile methods with 1 argument(s). " alt="" coords="198,1830,393,1886"/><area shape="rect" id="node49" href="classsigc_1_1const__volatile__mem__functor2.html" title="const_volatile_mem_functor2 wraps const volatile methods with 2 argument(s). " alt="" coords="198,1910,393,1966"/><area shape="rect" id="node51" href="classsigc_1_1const__volatile__mem__functor3.html" title="const_volatile_mem_functor3 wraps const volatile methods with 3 argument(s). " alt="" coords="198,1991,393,2061"/><area shape="rect" id="node53" href="classsigc_1_1const__volatile__mem__functor4.html" title="const_volatile_mem_functor4 wraps const volatile methods with 4 argument(s). " alt="" coords="198,2085,393,2156"/><area shape="rect" id="node55" href="classsigc_1_1const__volatile__mem__functor5.html" title="const_volatile_mem_functor5 wraps const volatile methods with 5 argument(s). " alt="" coords="198,2180,393,2251"/><area shape="rect" id="node57" href="classsigc_1_1const__volatile__mem__functor6.html" title="const_volatile_mem_functor6 wraps const volatile methods with 6 argument(s). " alt="" coords="198,2275,393,2361"/><area shape="rect" id="node59" href="classsigc_1_1const__volatile__mem__functor7.html" title="const_volatile_mem_functor7 wraps const volatile methods with 7 argument(s). " alt="" coords="198,2385,393,2470"/><area shape="rect" id="node61" href="classsigc_1_1mem__functor0.html" title="mem_functor0 wraps methods with 0 argument(s). " alt="" coords="221,2495,370,2536"/><area shape="rect" id="node63" href="classsigc_1_1mem__functor1.html" title="mem_functor1 wraps methods with 1 argument(s). " alt="" coords="221,2559,370,2615"/><area shape="rect" id="node65" href="classsigc_1_1mem__functor2.html" title="mem_functor2 wraps methods with 2 argument(s). " alt="" coords="221,2639,370,2695"/><area shape="rect" id="node67" href="classsigc_1_1mem__functor3.html" title="mem_functor3 wraps methods with 3 argument(s). " alt="" coords="208,2719,383,2775"/><area shape="rect" id="node69" href="classsigc_1_1mem__functor4.html" title="mem_functor4 wraps methods with 4 argument(s). " alt="" coords="213,2800,377,2871"/><area shape="rect" id="node71" href="classsigc_1_1mem__functor5.html" title="mem_functor5 wraps methods with 5 argument(s). " alt="" coords="213,2895,377,2965"/><area shape="rect" id="node73" href="classsigc_1_1mem__functor6.html" title="mem_functor6 wraps methods with 6 argument(s). " alt="" coords="202,2989,389,3060"/><area shape="rect" id="node75" href="classsigc_1_1mem__functor7.html" title="mem_functor7 wraps methods with 7 argument(s). " alt="" coords="208,3085,383,3170"/><area shape="rect" id="node77" href="classsigc_1_1pointer__functor0.html" title="pointer_functor0 wraps existing non-member functions with 0 argument(s). " alt="" coords="215,3195,375,3236"/><area shape="rect" id="node78" href="classsigc_1_1pointer__functor1.html" title="pointer_functor1 wraps existing non-member functions with 1 argument(s). " alt="" coords="215,3260,375,3301"/><area shape="rect" id="node79" href="classsigc_1_1pointer__functor2.html" title="pointer_functor2 wraps existing non-member functions with 2 argument(s). " alt="" coords="192,3325,399,3367"/><area shape="rect" id="node80" href="classsigc_1_1pointer__functor3.html" title="pointer_functor3 wraps existing non-member functions with 3 argument(s). " alt="" coords="202,3390,389,3446"/><area shape="rect" id="node81" href="classsigc_1_1pointer__functor4.html" title="pointer_functor4 wraps existing non-member functions with 4 argument(s). " alt="" coords="202,3470,389,3526"/><area shape="rect" id="node82" href="classsigc_1_1pointer__functor5.html" title="pointer_functor5 wraps existing non-member functions with 5 argument(s). " alt="" coords="197,3550,393,3606"/><area shape="rect" id="node83" href="classsigc_1_1pointer__functor6.html" title="pointer_functor6 wraps existing non-member functions with 6 argument(s). " alt="" coords="202,3631,389,3701"/><area shape="rect" id="node84" href="classsigc_1_1pointer__functor7.html" title="pointer_functor7 wraps existing non-member functions with 7 argument(s). " alt="" coords="202,3725,389,3796"/><area shape="rect" id="node85" href="classsigc_1_1slot__base.html" title="Base type for slots. " alt="" coords="237,3821,353,3847"/><area shape="rect" id="node102" href="classsigc_1_1volatile__mem__functor0.html" title="volatile_mem_functor0 wraps volatile methods with 0 argument(s). " alt="" coords="218,3882,373,3938"/><area shape="rect" id="node104" href="classsigc_1_1volatile__mem__functor1.html" title="volatile_mem_functor1 wraps volatile methods with 1 argument(s). " alt="" coords="218,3962,373,4018"/><area shape="rect" id="node106" href="classsigc_1_1volatile__mem__functor2.html" title="volatile_mem_functor2 wraps volatile methods with 2 argument(s). " alt="" coords="207,4042,383,4098"/><area shape="rect" id="node108" href="classsigc_1_1volatile__mem__functor3.html" title="volatile_mem_functor3 wraps volatile methods with 3 argument(s). " alt="" coords="213,4123,378,4193"/><area shape="rect" id="node110" href="classsigc_1_1volatile__mem__functor4.html" title="volatile_mem_functor4 wraps volatile methods with 4 argument(s). " alt="" coords="213,4217,378,4288"/><area shape="rect" id="node112" href="classsigc_1_1volatile__mem__functor5.html" title="volatile_mem_functor5 wraps volatile methods with 5 argument(s). " alt="" coords="202,4312,389,4383"/><area shape="rect" id="node114" href="classsigc_1_1volatile__mem__functor6.html" title="volatile_mem_functor6 wraps volatile methods with 6 argument(s). " alt="" coords="208,4407,383,4493"/><area shape="rect" id="node116" href="classsigc_1_1volatile__mem__functor7.html" title="volatile_mem_functor7 wraps volatile methods with 7 argument(s). " alt="" coords="208,4517,383,4602"/><area shape="rect" id="node3" href="structsigc_1_1adapts.html" title="sigc::adapts\< T_setter \>" alt="" coords="469,85,651,111"/><area shape="rect" id="node6" href="structsigc_1_1adaptor__functor.html" title="Converts an arbitrary functor into an adaptor type. " alt="" coords="481,507,639,548"/><area shape="rect" id="node7" href="structsigc_1_1adapts.html" title="Base type for adaptors. " alt="" coords="466,573,654,599"/><area shape="rect" id="node25" href="structsigc_1_1lambda__base.html" title="A hint to the compiler. " alt="" coords="489,977,631,1003"/><area shape="rect" id="node4" href="structsigc_1_1compose1__functor.html" title="Adaptor that combines two functors. " alt="" coords="738,5,913,47"/><area shape="rect" id="node5" href="structsigc_1_1compose2__functor.html" title="Adaptor that combines three functors. " alt="" coords="738,70,913,126"/><area shape="rect" id="node8" href="structsigc_1_1bind__functor_3_010_00_01T__functor_00_01T__bound_00_01nil_00_01nil_00_01nil_00_01nil_00_01nil_00_01nil_01_4.html" title="Adaptor that binds an argument to the wrapped functor. " alt="" coords="736,150,915,206"/><area shape="rect" id="node9" href="structsigc_1_1bind__functor_3-1_00_01T__functor_00_01T__type1_00_01nil_00_01nil_00_01nil_00_01nil_00_01nil_00_01nil_01_4.html" title="Adaptor that binds 1 argument(s) to the wrapped functor. " alt="" coords="738,230,913,286"/><area shape="rect" id="node10" href="structsigc_1_1bind__return__functor.html" title="Adaptor that fixes the return value of the wrapped functor. " alt="" coords="735,309,915,351"/><area shape="rect" id="node11" href="structsigc_1_1exception__catch__functor.html" title="sigc::exception_catch\l_functor\< T_functor,\l T_catcher, T_return \>" alt="" coords="743,374,907,430"/><area shape="rect" id="node12" href="structsigc_1_1exception__catch__functor_3_01T__functor_00_01T__catcher_00_01void_01_4.html" title="sigc::exception_catch\l_functor\< T_functor,\l T_catcher, void \>" alt="" coords="746,454,905,510"/><area shape="rect" id="node13" href="structsigc_1_1hide__functor_3_010_00_01T__functor_01_4.html" title="Adaptor that adds a dummy parameter to the wrapped functor. " alt="" coords="758,533,893,575"/><area shape="rect" id="node14" href="structsigc_1_1hide__functor_3-1_00_01T__functor_01_4.html" title="Adaptor that adds a dummy parameter to the wrapped functor. " alt="" coords="758,599,893,640"/><area shape="rect" id="node15" href="structsigc_1_1retype__functor.html" title="Adaptor that performs C-style casts on the parameters passed on to the functor. " alt="" coords="722,664,929,735"/><area shape="rect" id="node16" href="structsigc_1_1retype__return__functor.html" title="Adaptor that performs a C-style cast on the return value of a functor. " alt="" coords="752,759,899,815"/><area shape="rect" id="node17" href="structsigc_1_1retype__return__functor_3_01void_00_01T__functor_01_4.html" title="Adaptor that performs a C-style cast on the return value of a functor. " alt="" coords="727,839,924,880"/><area shape="rect" id="node18" href="classsigc_1_1track__obj__functor1.html" title="track_obj_functor1 wraps a functor and stores a reference to a trackable object. " alt="" coords="739,904,912,945"/><area shape="rect" id="node19" href="classsigc_1_1track__obj__functor2.html" title="track_obj_functor2 wraps a functor and stores 2 references to trackable objects. " alt="" coords="982,712,1191,753"/><area shape="rect" id="node20" href="classsigc_1_1track__obj__functor3.html" title="track_obj_functor3 wraps a functor and stores 3 references to trackable objects. " alt="" coords="1000,777,1173,833"/><area shape="rect" id="node21" href="classsigc_1_1track__obj__functor4.html" title="track_obj_functor4 wraps a functor and stores 4 references to trackable objects. " alt="" coords="1000,857,1173,913"/><area shape="rect" id="node22" href="classsigc_1_1track__obj__functor5.html" title="track_obj_functor5 wraps a functor and stores 5 references to trackable objects. " alt="" coords="977,937,1196,993"/><area shape="rect" id="node23" href="classsigc_1_1track__obj__functor6.html" title="track_obj_functor6 wraps a functor and stores 6 references to trackable objects. " alt="" coords="1000,1017,1173,1088"/><area shape="rect" id="node24" href="classsigc_1_1track__obj__functor7.html" title="track_obj_functor7 wraps a functor and stores 7 references to trackable objects. " alt="" coords="1000,1112,1173,1183"/><area shape="rect" id="node26" href="structsigc_1_1lambda__group1.html" title="lambda_group1 wraps a functor and rebuilds its arguments from 1 lambda expressions. " alt="" coords="741,969,910,1011"/><area shape="rect" id="node27" href="structsigc_1_1lambda__group2.html" title="lambda_group2 wraps a functor and rebuilds its arguments from 2 lambda expressions. " alt="" coords="746,1034,905,1090"/><area shape="rect" id="node28" href="structsigc_1_1lambda__group3.html" title="lambda_group3 wraps a functor and rebuilds its arguments from 3 lambda expressions. " alt="" coords="746,1114,905,1170"/><area shape="rect" id="node30" href="classsigc_1_1bound__const__mem__functor0.html" title="bound_const_mem_functor0 encapsulates a const method with 0 arguments and an object instance..." alt="" coords="471,1027,649,1083"/><area shape="rect" id="node32" href="classsigc_1_1bound__const__mem__functor1.html" title="bound_const_mem_functor1 encapsulates a const method with 1 arguments and an object instance..." alt="" coords="471,1107,649,1163"/><area shape="rect" id="node34" href="classsigc_1_1bound__const__mem__functor2.html" title="bound_const_mem_functor2 encapsulates a const method with 2 arguments and an object instance..." alt="" coords="471,1187,649,1243"/><area shape="rect" id="node36" href="classsigc_1_1bound__const__mem__functor3.html" title="bound_const_mem_functor3 encapsulates a const method with 3 arguments and an object instance..." alt="" coords="471,1268,649,1339"/><area shape="rect" id="node38" href="classsigc_1_1bound__const__mem__functor4.html" title="bound_const_mem_functor4 encapsulates a const method with 4 arguments and an object instance..." alt="" coords="471,1363,649,1433"/><area shape="rect" id="node40" href="classsigc_1_1bound__const__mem__functor5.html" title="bound_const_mem_functor5 encapsulates a const method with 5 arguments and an object instance..." alt="" coords="467,1457,653,1528"/><area shape="rect" id="node42" href="classsigc_1_1bound__const__mem__functor6.html" title="bound_const_mem_functor6 encapsulates a const method with 6 arguments and an object instance..." alt="" coords="471,1553,649,1638"/><area shape="rect" id="node44" href="classsigc_1_1bound__const__mem__functor7.html" title="bound_const_mem_functor7 encapsulates a const method with 7 arguments and an object instance..." alt="" coords="471,1662,649,1747"/><area shape="rect" id="node46" href="classsigc_1_1bound__const__volatile__mem__functor0.html" title="bound_const_volatile_mem_functor0 encapsulates a const volatile method with 0 arguments and an object..." alt="" coords="463,1771,657,1827"/><area shape="rect" id="node48" href="classsigc_1_1bound__const__volatile__mem__functor1.html" title="bound_const_volatile_mem_functor1 encapsulates a const volatile method with 1 arguments and an object..." alt="" coords="463,1851,657,1907"/><area shape="rect" id="node50" href="classsigc_1_1bound__const__volatile__mem__functor2.html" title="bound_const_volatile_mem_functor2 encapsulates a const volatile method with 2 arguments and an object..." alt="" coords="463,1931,657,1987"/><area shape="rect" id="node52" href="classsigc_1_1bound__const__volatile__mem__functor3.html" title="bound_const_volatile_mem_functor3 encapsulates a const volatile method with 3 arguments and an object..." alt="" coords="447,2011,673,2067"/><area shape="rect" id="node54" href="classsigc_1_1bound__const__volatile__mem__functor4.html" title="bound_const_volatile_mem_functor4 encapsulates a const volatile method with 4 arguments and an object..." alt="" coords="463,2092,657,2163"/><area shape="rect" id="node56" href="classsigc_1_1bound__const__volatile__mem__functor5.html" title="bound_const_volatile_mem_functor5 encapsulates a const volatile method with 5 arguments and an object..." alt="" coords="463,2187,657,2257"/><area shape="rect" id="node58" href="classsigc_1_1bound__const__volatile__mem__functor6.html" title="bound_const_volatile_mem_functor6 encapsulates a const volatile method with 6 arguments and an object..." alt="" coords="447,2283,673,2353"/><area shape="rect" id="node60" href="classsigc_1_1bound__const__volatile__mem__functor7.html" title="bound_const_volatile_mem_functor7 encapsulates a const volatile method with 7 arguments and an object..." alt="" coords="453,2385,667,2470"/><area shape="rect" id="node62" href="classsigc_1_1bound__mem__functor0.html" title="bound_mem_functor0 encapsulates a method with 0 arguments and an object instance. ..." alt="" coords="462,2495,658,2536"/><area shape="rect" id="node64" href="classsigc_1_1bound__mem__functor1.html" title="bound_mem_functor1 encapsulates a method with 1 arguments and an object instance. ..." alt="" coords="461,2567,659,2608"/><area shape="rect" id="node66" href="classsigc_1_1bound__mem__functor2.html" title="bound_mem_functor2 encapsulates a method with 2 arguments and an object instance. ..." alt="" coords="462,2639,658,2695"/><area shape="rect" id="node68" href="classsigc_1_1bound__mem__functor3.html" title="bound_mem_functor3 encapsulates a method with 3 arguments and an object instance. ..." alt="" coords="462,2719,658,2775"/><area shape="rect" id="node70" href="classsigc_1_1bound__mem__functor4.html" title="bound_mem_functor4 encapsulates a method with 4 arguments and an object instance. ..." alt="" coords="462,2807,658,2863"/><area shape="rect" id="node72" href="classsigc_1_1bound__mem__functor5.html" title="bound_mem_functor5 encapsulates a method with 5 arguments and an object instance. ..." alt="" coords="462,2895,658,2965"/><area shape="rect" id="node74" href="classsigc_1_1bound__mem__functor6.html" title="bound_mem_functor6 encapsulates a method with 6 arguments and an object instance. ..." alt="" coords="462,2989,658,3060"/><area shape="rect" id="node76" href="classsigc_1_1bound__mem__functor7.html" title="bound_mem_functor7 encapsulates a method with 7 arguments and an object instance. ..." alt="" coords="462,3092,658,3163"/><area shape="rect" id="node86" href="classsigc_1_1slot0.html" title="Converts an arbitrary functor to a unified type which is opaque. " alt="" coords="475,3263,645,3290"/><area shape="rect" id="node88" href="classsigc_1_1slot1.html" title="Converts an arbitrary functor to a unified type which is opaque. " alt="" coords="481,3332,639,3373"/><area shape="rect" id="node90" href="classsigc_1_1slot2.html" title="Converts an arbitrary functor to a unified type which is opaque. " alt="" coords="481,3409,639,3451"/><area shape="rect" id="node92" href="classsigc_1_1slot3.html" title="Converts an arbitrary functor to a unified type which is opaque. " alt="" coords="467,3484,653,3525"/><area shape="rect" id="node94" href="classsigc_1_1slot4.html" title="Converts an arbitrary functor to a unified type which is opaque. " alt="" coords="473,3551,647,3607"/><area shape="rect" id="node96" href="classsigc_1_1slot5.html" title="Converts an arbitrary functor to a unified type which is opaque. " alt="" coords="473,3631,647,3687"/><area shape="rect" id="node98" href="classsigc_1_1slot6.html" title="Converts an arbitrary functor to a unified type which is opaque. " alt="" coords="467,3711,653,3767"/><area shape="rect" id="node100" href="classsigc_1_1slot7.html" title="Converts an arbitrary functor to a unified type which is opaque. " alt="" coords="473,3792,647,3863"/><area shape="rect" id="node87" href="classsigc_1_1slot_3_01T__return_00_01nil_00_01nil_00_01nil_00_01nil_00_01nil_00_01nil_00_01nil_01_4.html" title="Convenience wrapper for the numbered sigc::slot0 template. " alt="" coords="750,3233,901,3289"/><area shape="rect" id="node89" href="classsigc_1_1slot_3_01T__return_00_01T__arg1_00_01nil_00_01nil_00_01nil_00_01nil_00_01nil_00_01nil_01_4.html" title="Convenience wrapper for the numbered sigc::slot1 template. " alt="" coords="750,3313,901,3369"/><area shape="rect" id="node91" href="classsigc_1_1slot_3_01T__return_00_01T__arg1_00_01T__arg2_00_01nil_00_01nil_00_01nil_00_01nil_00_01nil_01_4.html" title="Convenience wrapper for the numbered sigc::slot2 template. " alt="" coords="750,3393,901,3449"/><area shape="rect" id="node93" href="classsigc_1_1slot_3_01T__return_00_01T__arg1_00_01T__arg2_00_01T__arg3_00_01nil_00_01nil_00_01nil_00_01nil_01_4.html" title="Convenience wrapper for the numbered sigc::slot3 template. " alt="" coords="738,3473,913,3529"/><area shape="rect" id="node95" href="classsigc_1_1slot_3_01T__return_00_01T__arg1_00_01T__arg2_00_01T__arg3_00_01T__arg4_00_01nil_00_01nil_00_01nil_01_4.html" title="Convenience wrapper for the numbered sigc::slot4 template. " alt="" coords="738,3553,913,3609"/><area shape="rect" id="node97" href="classsigc_1_1slot_3_01T__return_00_01T__arg1_00_01T__arg2_00_01T__arg3_00_01T__arg4_00_01T__arg5_00_01nil_00_01nil_01_4.html" title="Convenience wrapper for the numbered sigc::slot5 template. " alt="" coords="736,3633,915,3689"/><area shape="rect" id="node99" href="classsigc_1_1slot_3_01T__return_00_01T__arg1_00_01T__arg2_00_01T__arg3_00_01T__arg4_00_01T__arg5_00_01T__arg6_00_01nil_01_4.html" title="Convenience wrapper for the numbered sigc::slot6 template. " alt="" coords="721,3713,929,3769"/><area shape="rect" id="node101" href="classsigc_1_1slot.html" title="Convenience wrapper for the numbered sigc::slot# templates. " alt="" coords="738,3793,913,3864"/><area shape="rect" id="node103" href="classsigc_1_1bound__volatile__mem__functor0.html" title="bound_volatile_mem_functor0 encapsulates a volatile method with 0 arguments and an object instance..." alt="" coords="463,3887,657,3943"/><area shape="rect" id="node105" href="classsigc_1_1bound__volatile__mem__functor1.html" title="bound_volatile_mem_functor1 encapsulates a volatile method with 1 arguments and an object instance..." alt="" coords="463,3967,657,4023"/><area shape="rect" id="node107" href="classsigc_1_1bound__volatile__mem__functor2.html" title="bound_volatile_mem_functor2 encapsulates a volatile method with 2 arguments and an object instance..." alt="" coords="463,4047,657,4103"/><area shape="rect" id="node109" href="classsigc_1_1bound__volatile__mem__functor3.html" title="bound_volatile_mem_functor3 encapsulates a volatile method with 3 arguments and an object instance..." alt="" coords="463,4128,657,4199"/><area shape="rect" id="node111" href="classsigc_1_1bound__volatile__mem__functor4.html" title="bound_volatile_mem_functor4 encapsulates a volatile method with 4 arguments and an object instance..." alt="" coords="463,4223,657,4293"/><area shape="rect" id="node113" href="classsigc_1_1bound__volatile__mem__functor5.html" title="bound_volatile_mem_functor5 encapsulates a volatile method with 5 arguments and an object instance..." alt="" coords="463,4317,657,4388"/><area shape="rect" id="node115" href="classsigc_1_1bound__volatile__mem__functor6.html" title="bound_volatile_mem_functor6 encapsulates a volatile method with 6 arguments and an object instance..." alt="" coords="463,4413,657,4498"/><area shape="rect" id="node117" href="classsigc_1_1bound__volatile__mem__functor7.html" title="bound_volatile_mem_functor7 encapsulates a volatile method with 7 arguments and an object instance..." alt="" coords="463,4522,657,4607"/></map>
+<area shape="rect" id="node1" href="structsigc_1_1functor__base.html" title="A hint to the compiler. " alt="" coords="5,2306,144,2333"/><area shape="rect" id="node2" href="structsigc_1_1adaptor__base.html" title="A hint to the compiler. " alt="" coords="224,475,367,502"/><area shape="rect" id="node25" href="classsigc_1_1const__mem__functor0.html" title="const_mem_functor0 wraps const methods with 0 argument(s). " alt="" coords="200,572,391,613"/><area shape="rect" id="node27" href="classsigc_1_1const__mem__functor1.html" title="const_mem_functor1 wraps const methods with 1 argument(s). " alt="" coords="197,651,394,692"/><area shape="rect" id="node29" href="classsigc_1_1const__mem__functor2.html" title="const_mem_functor2 wraps const methods with 2 argument(s). " alt="" coords="200,719,391,775"/><area shape="rect" id="node31" href="classsigc_1_1const__mem__functor3.html" title="const_mem_functor3 wraps const methods with 3 argument(s). " alt="" coords="200,810,391,866"/><area shape="rect" id="node33" href="classsigc_1_1const__mem__functor4.html" title="const_mem_functor4 wraps const methods with 4 argument(s). " alt="" coords="200,901,391,957"/><area shape="rect" id="node35" href="classsigc_1_1const__mem__functor5.html" title="const_mem_functor5 wraps const methods with 5 argument(s). " alt="" coords="200,989,391,1060"/><area shape="rect" id="node37" href="classsigc_1_1const__mem__functor6.html" title="const_mem_functor6 wraps const methods with 6 argument(s). " alt="" coords="200,1088,391,1159"/><area shape="rect" id="node39" href="classsigc_1_1const__mem__functor7.html" title="const_mem_functor7 wraps const methods with 7 argument(s). " alt="" coords="200,1183,391,1253"/><area shape="rect" id="node41" href="classsigc_1_1const__volatile__mem__functor0.html" title="const_volatile_mem_functor0 wraps const volatile methods with 0 argument(s). " alt="" coords="198,1278,393,1334"/><area shape="rect" id="node43" href="classsigc_1_1const__volatile__mem__functor1.html" title="const_volatile_mem_functor1 wraps const volatile methods with 1 argument(s). " alt="" coords="198,1358,393,1414"/><area shape="rect" id="node45" href="classsigc_1_1const__volatile__mem__functor2.html" title="const_volatile_mem_functor2 wraps const volatile methods with 2 argument(s). " alt="" coords="198,1438,393,1494"/><area shape="rect" id="node47" href="classsigc_1_1const__volatile__mem__functor3.html" title="const_volatile_mem_functor3 wraps const volatile methods with 3 argument(s). " alt="" coords="198,1519,393,1589"/><area shape="rect" id="node49" href="classsigc_1_1const__volatile__mem__functor4.html" title="const_volatile_mem_functor4 wraps const volatile methods with 4 argument(s). " alt="" coords="198,1613,393,1684"/><area shape="rect" id="node51" href="classsigc_1_1const__volatile__mem__functor5.html" title="const_volatile_mem_functor5 wraps const volatile methods with 5 argument(s). " alt="" coords="198,1708,393,1779"/><area shape="rect" id="node53" href="classsigc_1_1const__volatile__mem__functor6.html" title="const_volatile_mem_functor6 wraps const volatile methods with 6 argument(s). " alt="" coords="198,1803,393,1889"/><area shape="rect" id="node55" href="classsigc_1_1const__volatile__mem__functor7.html" title="const_volatile_mem_functor7 wraps const volatile methods with 7 argument(s). " alt="" coords="198,1913,393,1998"/><area shape="rect" id="node57" href="classsigc_1_1mem__functor0.html" title="mem_functor0 wraps methods with 0 argument(s). " alt="" coords="221,2023,370,2064"/><area shape="rect" id="node59" href="classsigc_1_1mem__functor1.html" title="mem_functor1 wraps methods with 1 argument(s). " alt="" coords="221,2087,370,2143"/><area shape="rect" id="node61" href="classsigc_1_1mem__functor2.html" title="mem_functor2 wraps methods with 2 argument(s). " alt="" coords="221,2167,370,2223"/><area shape="rect" id="node63" href="classsigc_1_1mem__functor3.html" title="mem_functor3 wraps methods with 3 argument(s). " alt="" coords="208,2247,383,2303"/><area shape="rect" id="node65" href="classsigc_1_1mem__functor4.html" title="mem_functor4 wraps methods with 4 argument(s). " alt="" coords="213,2328,377,2399"/><area shape="rect" id="node67" href="classsigc_1_1mem__functor5.html" title="mem_functor5 wraps methods with 5 argument(s). " alt="" coords="213,2423,377,2493"/><area shape="rect" id="node69" href="classsigc_1_1mem__functor6.html" title="mem_functor6 wraps methods with 6 argument(s). " alt="" coords="202,2517,389,2588"/><area shape="rect" id="node71" href="classsigc_1_1mem__functor7.html" title="mem_functor7 wraps methods with 7 argument(s). " alt="" coords="208,2613,383,2698"/><area shape="rect" id="node73" href="classsigc_1_1pointer__functor0.html" title="pointer_functor0 wraps existing non-member functions with 0 argument(s). " alt="" coords="215,2723,375,2764"/><area shape="rect" id="node74" href="classsigc_1_1pointer__functor1.html" title="pointer_functor1 wraps existing non-member functions with 1 argument(s). " alt="" coords="215,2788,375,2829"/><area shape="rect" id="node75" href="classsigc_1_1pointer__functor2.html" title="pointer_functor2 wraps existing non-member functions with 2 argument(s). " alt="" coords="192,2853,399,2895"/><area shape="rect" id="node76" href="classsigc_1_1pointer__functor3.html" title="pointer_functor3 wraps existing non-member functions with 3 argument(s). " alt="" coords="202,2918,389,2974"/><area shape="rect" id="node77" href="classsigc_1_1pointer__functor4.html" title="pointer_functor4 wraps existing non-member functions with 4 argument(s). " alt="" coords="202,2998,389,3054"/><area shape="rect" id="node78" href="classsigc_1_1pointer__functor5.html" title="pointer_functor5 wraps existing non-member functions with 5 argument(s). " alt="" coords="197,3078,393,3134"/><area shape="rect" id="node79" href="classsigc_1_1pointer__functor6.html" title="pointer_functor6 wraps existing non-member functions with 6 argument(s). " alt="" coords="202,3159,389,3229"/><area shape="rect" id="node80" href="classsigc_1_1pointer__functor7.html" title="pointer_functor7 wraps existing non-member functions with 7 argument(s). " alt="" coords="202,3253,389,3324"/><area shape="rect" id="node81" href="classsigc_1_1slot__base.html" title="Base type for slots. " alt="" coords="237,3349,353,3375"/><area shape="rect" id="node98" href="classsigc_1_1volatile__mem__functor0.html" title="volatile_mem_functor0 wraps volatile methods with 0 argument(s). " alt="" coords="218,3410,373,3466"/><area shape="rect" id="node100" href="classsigc_1_1volatile__mem__functor1.html" title="volatile_mem_functor1 wraps volatile methods with 1 argument(s). " alt="" coords="218,3490,373,3546"/><area shape="rect" id="node102" href="classsigc_1_1volatile__mem__functor2.html" title="volatile_mem_functor2 wraps volatile methods with 2 argument(s). " alt="" coords="207,3570,383,3626"/><area shape="rect" id="node104" href="classsigc_1_1volatile__mem__functor3.html" title="volatile_mem_functor3 wraps volatile methods with 3 argument(s). " alt="" coords="213,3651,378,3721"/><area shape="rect" id="node106" href="classsigc_1_1volatile__mem__functor4.html" title="volatile_mem_functor4 wraps volatile methods with 4 argument(s). " alt="" coords="213,3745,378,3816"/><area shape="rect" id="node108" href="classsigc_1_1volatile__mem__functor5.html" title="volatile_mem_functor5 wraps volatile methods with 5 argument(s). " alt="" coords="202,3840,389,3911"/><area shape="rect" id="node110" href="classsigc_1_1volatile__mem__functor6.html" title="volatile_mem_functor6 wraps volatile methods with 6 argument(s). " alt="" coords="208,3935,383,4021"/><area shape="rect" id="node112" href="classsigc_1_1volatile__mem__functor7.html" title="volatile_mem_functor7 wraps volatile methods with 7 argument(s). " alt="" coords="208,4045,383,4130"/><area shape="rect" id="node3" href="structsigc_1_1adapts.html" title="sigc::adapts\< T_setter \>" alt="" coords="469,85,651,111"/><area shape="rect" id="node6" href="structsigc_1_1adaptor__functor.html" title="Converts an arbitrary functor into an adaptor type. " alt="" coords="481,439,639,480"/><area shape="rect" id="node7" href="structsigc_1_1adapts.html" title="Base type for adaptors. " alt="" coords="466,505,654,531"/><area shape="rect" id="node4" href="structsigc_1_1compose1__functor.html" title="Adaptor that combines two functors. " alt="" coords="738,5,913,47"/><area shape="rect" id="node5" href="structsigc_1_1compose2__functor.html" title="Adaptor that combines three functors. " alt="" coords="738,70,913,126"/><area shape="rect" id="node8" href="structsigc_1_1bind__functor_3_010_00_01T__functor_00_01T__bound_00_01nil_00_01nil_00_01nil_00_01nil_00_01nil_00_01nil_01_4.html" title="Adaptor that binds an argument to the wrapped functor. " alt="" coords="736,150,915,206"/><area shape="rect" id="node9" href="structsigc_1_1bind__functor_3-1_00_01T__functor_00_01T__type1_00_01nil_00_01nil_00_01nil_00_01nil_00_01nil_00_01nil_01_4.html" title="Adaptor that binds 1 argument(s) to the wrapped functor. " alt="" coords="738,230,913,286"/><area shape="rect" id="node10" href="structsigc_1_1bind__return__functor.html" title="Adaptor that fixes the return value of the wrapped functor. " alt="" coords="735,309,915,351"/><area shape="rect" id="node11" href="structsigc_1_1exception__catch__functor.html" title="sigc::exception_catch\l_functor\< T_functor,\l T_catcher, T_return \>" alt="" coords="743,374,907,430"/><area shape="rect" id="node12" href="structsigc_1_1exception__catch__functor_3_01T__functor_00_01T__catcher_00_01void_01_4.html" title="sigc::exception_catch\l_functor\< T_functor,\l T_catcher, void \>" alt="" coords="746,454,905,510"/><area shape="rect" id="node13" href="structsigc_1_1hide__functor_3_010_00_01T__functor_01_4.html" title="Adaptor that adds a dummy parameter to the wrapped functor. " alt="" coords="758,533,893,575"/><area shape="rect" id="node14" href="structsigc_1_1hide__functor_3-1_00_01T__functor_01_4.html" title="Adaptor that adds a dummy parameter to the wrapped functor. " alt="" coords="758,599,893,640"/><area shape="rect" id="node15" href="structsigc_1_1retype__functor.html" title="Adaptor that performs C-style casts on the parameters passed on to the functor. " alt="" coords="722,664,929,735"/><area shape="rect" id="node16" href="structsigc_1_1retype__return__functor.html" title="Adaptor that performs a C-style cast on the return value of a functor. " alt="" coords="752,759,899,815"/><area shape="rect" id="node17" href="structsigc_1_1retype__return__functor_3_01void_00_01T__functor_01_4.html" title="Adaptor that performs a C-style cast on the return value of a functor. " alt="" coords="727,839,924,880"/><area shape="rect" id="node18" href="classsigc_1_1track__obj__functor1.html" title="track_obj_functor1 wraps a functor and stores a reference to a trackable object. " alt="" coords="739,904,912,945"/><area shape="rect" id="node19" href="classsigc_1_1track__obj__functor2.html" title="track_obj_functor2 wraps a functor and stores 2 references to trackable objects. " alt="" coords="982,712,1191,753"/><area shape="rect" id="node20" href="classsigc_1_1track__obj__functor3.html" title="track_obj_functor3 wraps a functor and stores 3 references to trackable objects. " alt="" coords="1000,777,1173,833"/><area shape="rect" id="node21" href="classsigc_1_1track__obj__functor4.html" title="track_obj_functor4 wraps a functor and stores 4 references to trackable objects. " alt="" coords="1000,857,1173,913"/><area shape="rect" id="node22" href="classsigc_1_1track__obj__functor5.html" title="track_obj_functor5 wraps a functor and stores 5 references to trackable objects. " alt="" coords="977,937,1196,993"/><area shape="rect" id="node23" href="classsigc_1_1track__obj__functor6.html" title="track_obj_functor6 wraps a functor and stores 6 references to trackable objects. " alt="" coords="1000,1017,1173,1088"/><area shape="rect" id="node24" href="classsigc_1_1track__obj__functor7.html" title="track_obj_functor7 wraps a functor and stores 7 references to trackable objects. " alt="" coords="1000,1112,1173,1183"/><area shape="rect" id="node26" href="classsigc_1_1bound__const__mem__functor0.html" title="bound_const_mem_functor0 encapsulates a const method with 0 arguments and an object instance..." alt="" coords="471,555,649,611"/><area shape="rect" id="node28" href="classsigc_1_1bound__const__mem__functor1.html" title="bound_const_mem_functor1 encapsulates a const method with 1 arguments and an object instance..." alt="" coords="471,635,649,691"/><area shape="rect" id="node30" href="classsigc_1_1bound__const__mem__functor2.html" title="bound_const_mem_functor2 encapsulates a const method with 2 arguments and an object instance..." alt="" coords="471,715,649,771"/><area shape="rect" id="node32" href="classsigc_1_1bound__const__mem__functor3.html" title="bound_const_mem_functor3 encapsulates a const method with 3 arguments and an object instance..." alt="" coords="471,796,649,867"/><area shape="rect" id="node34" href="classsigc_1_1bound__const__mem__functor4.html" title="bound_const_mem_functor4 encapsulates a const method with 4 arguments and an object instance..." alt="" coords="471,891,649,961"/><area shape="rect" id="node36" href="classsigc_1_1bound__const__mem__functor5.html" title="bound_const_mem_functor5 encapsulates a const method with 5 arguments and an object instance..." alt="" coords="467,985,653,1056"/><area shape="rect" id="node38" href="classsigc_1_1bound__const__mem__functor6.html" title="bound_const_mem_functor6 encapsulates a const method with 6 arguments and an object instance..." alt="" coords="471,1081,649,1166"/><area shape="rect" id="node40" href="classsigc_1_1bound__const__mem__functor7.html" title="bound_const_mem_functor7 encapsulates a const method with 7 arguments and an object instance..." alt="" coords="471,1190,649,1275"/><area shape="rect" id="node42" href="classsigc_1_1bound__const__volatile__mem__functor0.html" title="bound_const_volatile_mem_functor0 encapsulates a const volatile method with 0 arguments and an object..." alt="" coords="463,1299,657,1355"/><area shape="rect" id="node44" href="classsigc_1_1bound__const__volatile__mem__functor1.html" title="bound_const_volatile_mem_functor1 encapsulates a const volatile method with 1 arguments and an object..." alt="" coords="463,1379,657,1435"/><area shape="rect" id="node46" href="classsigc_1_1bound__const__volatile__mem__functor2.html" title="bound_const_volatile_mem_functor2 encapsulates a const volatile method with 2 arguments and an object..." alt="" coords="463,1459,657,1515"/><area shape="rect" id="node48" href="classsigc_1_1bound__const__volatile__mem__functor3.html" title="bound_const_volatile_mem_functor3 encapsulates a const volatile method with 3 arguments and an object..." alt="" coords="447,1539,673,1595"/><area shape="rect" id="node50" href="classsigc_1_1bound__const__volatile__mem__functor4.html" title="bound_const_volatile_mem_functor4 encapsulates a const volatile method with 4 arguments and an object..." alt="" coords="463,1620,657,1691"/><area shape="rect" id="node52" href="classsigc_1_1bound__const__volatile__mem__functor5.html" title="bound_const_volatile_mem_functor5 encapsulates a const volatile method with 5 arguments and an object..." alt="" coords="463,1715,657,1785"/><area shape="rect" id="node54" href="classsigc_1_1bound__const__volatile__mem__functor6.html" title="bound_const_volatile_mem_functor6 encapsulates a const volatile method with 6 arguments and an object..." alt="" coords="447,1811,673,1881"/><area shape="rect" id="node56" href="classsigc_1_1bound__const__volatile__mem__functor7.html" title="bound_const_volatile_mem_functor7 encapsulates a const volatile method with 7 arguments and an object..." alt="" coords="453,1913,667,1998"/><area shape="rect" id="node58" href="classsigc_1_1bound__mem__functor0.html" title="bound_mem_functor0 encapsulates a method with 0 arguments and an object instance. ..." alt="" coords="462,2023,658,2064"/><area shape="rect" id="node60" href="classsigc_1_1bound__mem__functor1.html" title="bound_mem_functor1 encapsulates a method with 1 arguments and an object instance. ..." alt="" coords="461,2095,659,2136"/><area shape="rect" id="node62" href="classsigc_1_1bound__mem__functor2.html" title="bound_mem_functor2 encapsulates a method with 2 arguments and an object instance. ..." alt="" coords="462,2167,658,2223"/><area shape="rect" id="node64" href="classsigc_1_1bound__mem__functor3.html" title="bound_mem_functor3 encapsulates a method with 3 arguments and an object instance. ..." alt="" coords="462,2247,658,2303"/><area shape="rect" id="node66" href="classsigc_1_1bound__mem__functor4.html" title="bound_mem_functor4 encapsulates a method with 4 arguments and an object instance. ..." alt="" coords="462,2335,658,2391"/><area shape="rect" id="node68" href="classsigc_1_1bound__mem__functor5.html" title="bound_mem_functor5 encapsulates a method with 5 arguments and an object instance. ..." alt="" coords="462,2423,658,2493"/><area shape="rect" id="node70" href="classsigc_1_1bound__mem__functor6.html" title="bound_mem_functor6 encapsulates a method with 6 arguments and an object instance. ..." alt="" coords="462,2517,658,2588"/><area shape="rect" id="node72" href="classsigc_1_1bound__mem__functor7.html" title="bound_mem_functor7 encapsulates a method with 7 arguments and an object instance. ..." alt="" coords="462,2620,658,2691"/><area shape="rect" id="node82" href="classsigc_1_1slot0.html" title="Converts an arbitrary functor to a unified type which is opaque. " alt="" coords="475,2795,645,2822"/><area shape="rect" id="node84" href="classsigc_1_1slot1.html" title="Converts an arbitrary functor to a unified type which is opaque. " alt="" coords="481,2863,639,2904"/><area shape="rect" id="node86" href="classsigc_1_1slot2.html" title="Converts an arbitrary functor to a unified type which is opaque. " alt="" coords="481,2939,639,2980"/><area shape="rect" id="node88" href="classsigc_1_1slot3.html" title="Converts an arbitrary functor to a unified type which is opaque. " alt="" coords="467,3011,653,3052"/><area shape="rect" id="node90" href="classsigc_1_1slot4.html" title="Converts an arbitrary functor to a unified type which is opaque. " alt="" coords="473,3079,647,3135"/><area shape="rect" id="node92" href="classsigc_1_1slot5.html" title="Converts an arbitrary functor to a unified type which is opaque. " alt="" coords="473,3159,647,3215"/><area shape="rect" id="node94" href="classsigc_1_1slot6.html" title="Converts an arbitrary functor to a unified type which is opaque. " alt="" coords="467,3239,653,3295"/><area shape="rect" id="node96" href="classsigc_1_1slot7.html" title="Converts an arbitrary functor to a unified type which is opaque. " alt="" coords="473,3320,647,3391"/><area shape="rect" id="node83" href="classsigc_1_1slot_3_01T__return_00_01nil_00_01nil_00_01nil_00_01nil_00_01nil_00_01nil_00_01nil_01_4.html" title="Convenience wrapper for the numbered sigc::slot0 template. " alt="" coords="750,2762,901,2818"/><area shape="rect" id="node85" href="classsigc_1_1slot_3_01T__return_00_01T__arg1_00_01nil_00_01nil_00_01nil_00_01nil_00_01nil_00_01nil_01_4.html" title="Convenience wrapper for the numbered sigc::slot1 template. " alt="" coords="750,2842,901,2898"/><area shape="rect" id="node87" href="classsigc_1_1slot_3_01T__return_00_01T__arg1_00_01T__arg2_00_01nil_00_01nil_00_01nil_00_01nil_00_01nil_01_4.html" title="Convenience wrapper for the numbered sigc::slot2 template. " alt="" coords="750,2922,901,2978"/><area shape="rect" id="node89" href="classsigc_1_1slot_3_01T__return_00_01T__arg1_00_01T__arg2_00_01T__arg3_00_01nil_00_01nil_00_01nil_00_01nil_01_4.html" title="Convenience wrapper for the numbered sigc::slot3 template. " alt="" coords="738,3002,913,3058"/><area shape="rect" id="node91" href="classsigc_1_1slot_3_01T__return_00_01T__arg1_00_01T__arg2_00_01T__arg3_00_01T__arg4_00_01nil_00_01nil_00_01nil_01_4.html" title="Convenience wrapper for the numbered sigc::slot4 template. " alt="" coords="738,3082,913,3138"/><area shape="rect" id="node93" href="classsigc_1_1slot_3_01T__return_00_01T__arg1_00_01T__arg2_00_01T__arg3_00_01T__arg4_00_01T__arg5_00_01nil_00_01nil_01_4.html" title="Convenience wrapper for the numbered sigc::slot5 template. " alt="" coords="736,3162,915,3218"/><area shape="rect" id="node95" href="classsigc_1_1slot_3_01T__return_00_01T__arg1_00_01T__arg2_00_01T__arg3_00_01T__arg4_00_01T__arg5_00_01T__arg6_00_01nil_01_4.html" title="Convenience wrapper for the numbered sigc::slot6 template. " alt="" coords="721,3242,929,3298"/><area shape="rect" id="node97" href="classsigc_1_1slot.html" title="Convenience wrapper for the numbered sigc::slot# templates. " alt="" coords="738,3323,913,3393"/><area shape="rect" id="node99" href="classsigc_1_1bound__volatile__mem__functor0.html" title="bound_volatile_mem_functor0 encapsulates a volatile method with 0 arguments and an object instance..." alt="" coords="463,3415,657,3471"/><area shape="rect" id="node101" href="classsigc_1_1bound__volatile__mem__functor1.html" title="bound_volatile_mem_functor1 encapsulates a volatile method with 1 arguments and an object instance..." alt="" coords="463,3495,657,3551"/><area shape="rect" id="node103" href="classsigc_1_1bound__volatile__mem__functor2.html" title="bound_volatile_mem_functor2 encapsulates a volatile method with 2 arguments and an object instance..." alt="" coords="463,3575,657,3631"/><area shape="rect" id="node105" href="classsigc_1_1bound__volatile__mem__functor3.html" title="bound_volatile_mem_functor3 encapsulates a volatile method with 3 arguments and an object instance..." alt="" coords="463,3656,657,3727"/><area shape="rect" id="node107" href="classsigc_1_1bound__volatile__mem__functor4.html" title="bound_volatile_mem_functor4 encapsulates a volatile method with 4 arguments and an object instance..." alt="" coords="463,3751,657,3821"/><area shape="rect" id="node109" href="classsigc_1_1bound__volatile__mem__functor5.html" title="bound_volatile_mem_functor5 encapsulates a volatile method with 5 arguments and an object instance..." alt="" coords="463,3845,657,3916"/><area shape="rect" id="node111" href="classsigc_1_1bound__volatile__mem__functor6.html" title="bound_volatile_mem_functor6 encapsulates a volatile method with 6 arguments and an object instance..." alt="" coords="463,3941,657,4026"/><area shape="rect" id="node113" href="classsigc_1_1bound__volatile__mem__functor7.html" title="bound_volatile_mem_functor7 encapsulates a volatile method with 7 arguments and an object instance..." alt="" coords="463,4050,657,4135"/></map>
</td></tr>
-<tr><td><img src="inherit_graph_23.png" border="0" alt="" usemap="#sigc_1_1functor__trait_3_01T__functor_00_01I__derives__functor__base_01_4"/>
-<map name="sigc_1_1functor__trait_3_01T__functor_00_01I__derives__functor__base_01_4" id="sigc_1_1functor__trait_3_01T__functor_00_01I__derives__functor__base_01_4">
-<area shape="rect" id="node1" href="structsigc_1_1functor__trait.html" title="Trait that specifies the return type of any type. " alt="" coords="5,5,165,61"/></map>
+<tr><td><img src="inherit_graph_24.png" border="0" alt="" usemap="#sigc_1_1functor__trait_3_01T__functor_00_01I__derives__functor__base_00_01I__can__use__decltype_01_4"/>
+<map name="sigc_1_1functor__trait_3_01T__functor_00_01I__derives__functor__base_00_01I__can__use__decltype_01_4" id="sigc_1_1functor__trait_3_01T__functor_00_01I__derives__functor__base_00_01I__can__use__decltype_01_4">
+<area shape="rect" id="node1" href="structsigc_1_1functor__trait.html" title="Trait that specifies the return type of any type. " alt="" coords="5,5,188,76"/></map>
</td></tr>
-<tr><td><img src="inherit_graph_24.png" border="0" alt="" usemap="#sigc_1_1hide__functor_3_01I__location_00_01T__functor_01_4"/>
+<tr><td><img src="inherit_graph_25.png" border="0" alt="" usemap="#sigc_1_1hide__functor_3_01I__location_00_01T__functor_01_4"/>
<map name="sigc_1_1hide__functor_3_01I__location_00_01T__functor_01_4" id="sigc_1_1hide__functor_3_01I__location_00_01T__functor_01_4">
<area shape="rect" id="node1" href="structsigc_1_1hide__functor.html" title="Adaptor that adds a dummy parameter to the wrapped functor. " alt="" coords="5,5,184,47"/></map>
</td></tr>
-<tr><td><img src="inherit_graph_25.png" border="0" alt="" usemap="#sigc_1_1is__base__and__derived_3_01T__base_00_01T__base_01_4"/>
+<tr><td><img src="inherit_graph_26.png" border="0" alt="" usemap="#sigc_1_1is__base__and__derived_3_01T__base_00_01T__base_01_4"/>
<map name="sigc_1_1is__base__and__derived_3_01T__base_00_01T__base_01_4" id="sigc_1_1is__base__and__derived_3_01T__base_00_01T__base_01_4">
<area shape="rect" id="node1" href="structsigc_1_1is__base__and__derived_3_01T__base_00_01T__base_01_4.html" title="sigc::is_base_and_derived\l\< T_base, T_base \>" alt="" coords="5,5,193,47"/></map>
</td></tr>
-<tr><td><img src="inherit_graph_26.png" border="0" alt="" usemap="#sigc_1_1is__base__and__derived_3_01T__base_00_01T__derived_01_4"/>
+<tr><td><img src="inherit_graph_27.png" border="0" alt="" usemap="#sigc_1_1is__base__and__derived_3_01T__base_00_01T__derived_01_4"/>
<map name="sigc_1_1is__base__and__derived_3_01T__base_00_01T__derived_01_4" id="sigc_1_1is__base__and__derived_3_01T__base_00_01T__derived_01_4">
<area shape="rect" id="node1" href="structsigc_1_1is__base__and__derived.html" title="Compile-time determination of base-class relationship in C++ (adapted to match the syntax of boost's ..." alt="" coords="5,5,193,47"/></map>
</td></tr>
-<tr><td><img src="inherit_graph_27.png" border="0" alt="" usemap="#sigc_1_1lambda_3_01T__type1_01_4"/>
-<map name="sigc_1_1lambda_3_01T__type1_01_4" id="sigc_1_1lambda_3_01T__type1_01_4">
-<area shape="rect" id="node2" href="structsigc_1_1lambda.html" title="sigc::lambda\< T_type1 \>" alt="" coords="159,5,341,32"/><area shape="rect" id="node3" href="structsigc_1_1lambda.html" title="sigc::lambda\< T_type2 \>" alt="" coords="159,56,341,83"/><area shape="rect" id="node4" href="structsigc_1_1lambda.html" title="sigc::lambda\< T_type3 \>" alt="" coords="159,107,341,133"/><area shape="rect" id="node5" href="structsigc_1_1lambda.html" title="Lambda type. " alt="" coords="163,157,337,184"/></map>
-</td></tr>
<tr><td><img src="inherit_graph_28.png" border="0" alt="" usemap="#sigc_1_1limit__reference_3_01T__obj_01_4"/>
<map name="sigc_1_1limit__reference_3_01T__obj_01_4" id="sigc_1_1limit__reference_3_01T__obj_01_4">
<area shape="rect" id="node1" href="classsigc_1_1limit__reference.html" title="sigc::limit_reference\l\< T_obj \>" alt="" coords="5,5,156,47"/></map>
<map name="sigc_1_1type__trait_3_01void_01_4" id="sigc_1_1type__trait_3_01void_01_4">
<area shape="rect" id="node1" href="structsigc_1_1type__trait_3_01void_01_4.html" title="sigc::type_trait\< void \>" alt="" coords="5,5,177,32"/></map>
</td></tr>
-<tr><td><img src="inherit_graph_43.png" border="0" alt="" usemap="#sigc_1_1unwrap__lambda__type_3_01lambda_3_01T__type_01_4_01_4"/>
-<map name="sigc_1_1unwrap__lambda__type_3_01lambda_3_01T__type_01_4_01_4" id="sigc_1_1unwrap__lambda__type_3_01lambda_3_01T__type_01_4_01_4">
-<area shape="rect" id="node1" href="structsigc_1_1unwrap__lambda__type_3_01lambda_3_01T__type_01_4_01_4.html" title="Deduces the type of the object stored in an object of the passed lambda type. " alt="" coords="5,5,212,47"/></map>
-</td></tr>
-<tr><td><img src="inherit_graph_44.png" border="0" alt="" usemap="#sigc_1_1unwrap__lambda__type_3_01T__type_01_4"/>
-<map name="sigc_1_1unwrap__lambda__type_3_01T__type_01_4" id="sigc_1_1unwrap__lambda__type_3_01T__type_01_4">
-<area shape="rect" id="node1" href="structsigc_1_1unwrap__lambda__type.html" title="Deduces the type of the object stored in an object of the passed lambda type. " alt="" coords="5,5,161,47"/></map>
-</td></tr>
-<tr><td><img src="inherit_graph_45.png" border="0" alt="" usemap="#sigc_1_1unwrap__reference_3_01const__reference__wrapper_3_01T__type_01_4_01_4"/>
+<tr><td><img src="inherit_graph_43.png" border="0" alt="" usemap="#sigc_1_1unwrap__reference_3_01const__reference__wrapper_3_01T__type_01_4_01_4"/>
<map name="sigc_1_1unwrap__reference_3_01const__reference__wrapper_3_01T__type_01_4_01_4" id="sigc_1_1unwrap__reference_3_01const__reference__wrapper_3_01T__type_01_4_01_4">
<area shape="rect" id="node1" href="structsigc_1_1unwrap__reference_3_01const__reference__wrapper_3_01T__type_01_4_01_4.html" title="sigc::unwrap_reference\l\< const_reference_wrapper\l\< T_type \> \>" alt="" coords="5,5,204,61"/></map>
</td></tr>
-<tr><td><img src="inherit_graph_46.png" border="0" alt="" usemap="#sigc_1_1unwrap__reference_3_01reference__wrapper_3_01T__type_01_4_01_4"/>
+<tr><td><img src="inherit_graph_44.png" border="0" alt="" usemap="#sigc_1_1unwrap__reference_3_01reference__wrapper_3_01T__type_01_4_01_4"/>
<map name="sigc_1_1unwrap__reference_3_01reference__wrapper_3_01T__type_01_4_01_4" id="sigc_1_1unwrap__reference_3_01reference__wrapper_3_01T__type_01_4_01_4">
<area shape="rect" id="node1" href="structsigc_1_1unwrap__reference_3_01reference__wrapper_3_01T__type_01_4_01_4.html" title="sigc::unwrap_reference\l\< reference_wrapper\< T\l_type \> \>" alt="" coords="5,5,184,61"/></map>
</td></tr>
-<tr><td><img src="inherit_graph_47.png" border="0" alt="" usemap="#sigc_1_1unwrap__reference_3_01T__type_01_4"/>
+<tr><td><img src="inherit_graph_45.png" border="0" alt="" usemap="#sigc_1_1unwrap__reference_3_01T__type_01_4"/>
<map name="sigc_1_1unwrap__reference_3_01T__type_01_4" id="sigc_1_1unwrap__reference_3_01T__type_01_4">
<area shape="rect" id="node1" href="structsigc_1_1unwrap__reference.html" title="sigc::unwrap_reference\l\< T_type \>" alt="" coords="5,5,175,47"/></map>
</td></tr>
-<tr><td><img src="inherit_graph_48.png" border="0" alt="" usemap="#sigc_1_1visitor_3_01T__functor_01_4"/>
+<tr><td><img src="inherit_graph_46.png" border="0" alt="" usemap="#sigc_1_1visitor_3_01T__functor_01_4"/>
<map name="sigc_1_1visitor_3_01T__functor_01_4" id="sigc_1_1visitor_3_01T__functor_01_4">
<area shape="rect" id="node1" href="structsigc_1_1visitor.html" title="sigc::visitor<T_functor>::do_visit_each() performs a functor on each of the targets of a functor..." alt="" coords="5,5,188,32"/></map>
</td></tr>
-<tr><td><img src="inherit_graph_49.png" border="0" alt="" usemap="#sigc_1_1volatile__limit__reference_3_01T__obj_01_4"/>
+<tr><td><img src="inherit_graph_47.png" border="0" alt="" usemap="#sigc_1_1volatile__limit__reference_3_01T__obj_01_4"/>
<map name="sigc_1_1volatile__limit__reference_3_01T__obj_01_4" id="sigc_1_1volatile__limit__reference_3_01T__obj_01_4">
<area shape="rect" id="node1" href="classsigc_1_1volatile__limit__reference.html" title="sigc::volatile_limit\l_reference\< T_obj \>" alt="" coords="5,5,159,47"/></map>
</td></tr>
-<tr><td><img src="inherit_graph_50.png" border="0" alt="" usemap="#sigc_1_1volatile__limit__reference_3_01T__type_00_01I__derives__trackable_01_4"/>
+<tr><td><img src="inherit_graph_48.png" border="0" alt="" usemap="#sigc_1_1volatile__limit__reference_3_01T__type_00_01I__derives__trackable_01_4"/>
<map name="sigc_1_1volatile__limit__reference_3_01T__type_00_01I__derives__trackable_01_4" id="sigc_1_1volatile__limit__reference_3_01T__type_00_01I__derives__trackable_01_4">
<area shape="rect" id="node1" href="classsigc_1_1volatile__limit__reference.html" title="A volatile_limit_reference<Foo> object stores a reference (Foo&), but make sure that, if Foo inherits from sigc::trackable, then visit_each<>() will "limit" itself to the sigc::trackable reference instead of the derived reference. " alt="" coords="5,5,164,61"/></map>
</td></tr>
-<tr><td><img src="inherit_graph_51.png" border="0" alt="" usemap="#sigc_1_1volatile__limit__reference_3_01T__type_00_01true_01_4"/>
+<tr><td><img src="inherit_graph_49.png" border="0" alt="" usemap="#sigc_1_1volatile__limit__reference_3_01T__type_00_01true_01_4"/>
<map name="sigc_1_1volatile__limit__reference_3_01T__type_00_01true_01_4" id="sigc_1_1volatile__limit__reference_3_01T__type_00_01true_01_4">
<area shape="rect" id="node1" href="classsigc_1_1volatile__limit__reference_3_01T__type_00_01true_01_4.html" title="volatile_limit_reference object for a class that derives from trackable. " alt="" coords="5,5,201,47"/></map>
</td></tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
<tr id="row_0_0_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__bind.html" target="_self">bind(), bind_return()</a></td><td class="desc"><a class="el" href="group__bind.html#ga962b581ef0c17562bb3317783d3ffe7d" title="Creates an adaptor of type sigc::bind_functor which fixes the last 7 argument(s) of the passed functo...">Sigc::bind()</a> alters an arbitrary functor by fixing arguments to certain values </td></tr>
<tr id="row_0_1_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__compose.html" target="_self">compose()</a></td><td class="desc"><a class="el" href="group__compose.html#ga4abf2a45eb2307a3dc5d870c86b0450d" title="Creates an adaptor of type sigc::compose2_functor which combines three functors. ">Sigc::compose()</a> combines two or three arbitrary functors </td></tr>
<tr id="row_0_2_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__exception__catch.html" target="_self">exception_catch()</a></td><td class="desc">Sigc::exception_catch() catches an exception thrown from within the wrapped functor and directs it to a catcher functor </td></tr>
-<tr id="row_0_3_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__group__.html" target="_self">group()</a></td><td class="desc"><a class="el" href="group__lambdas.html#ga993b22c0e13eb536edd9bcc3afd6d949" title="Alters an arbitrary functor by rebuilding its arguments from 3 lambda expressions. ">Sigc::group()</a> alters an arbitrary functor by rebuilding its arguments from one or more lambda expressions </td></tr>
-<tr id="row_0_4_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__hide.html" target="_self">hide(), hide_return()</a></td><td class="desc"><a class="el" href="group__hide.html#gacbbacd3553268d85b95e3a85aefb67e5" title="Creates an adaptor of type sigc::hide_functor which adds a dummy parameter to the passed functor...">Sigc::hide()</a> alters an arbitrary functor in that it adds a parameter whose value is ignored on invocation of the returned functor </td></tr>
-<tr id="row_0_5_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__retype.html" target="_self">retype(), retype_return()</a></td><td class="desc"><a class="el" href="group__retype.html#ga1ec0f19b59050f8f01c8969835b3c742" title="Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed...">Sigc::retype()</a> alters a sigc::pointer_functor, a sigc::mem_functor or a <a class="el" href="classsigc_1_1slot.html" title="Convenience wrapper for the numbered sigc::slot# templates. ">sigc::slot</a> in that it makes C-style casts to the functor's parameter types of all parameters passed through operator()() </td></tr>
-<tr id="row_0_6_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__track__obj.html" target="_self">track_obj()</a></td><td class="desc"><a class="el" href="group__track__obj.html#ga5ea3e9f52643d7ab1bcfa4f419e7d38f" title="Creates an adaptor of type sigc::track_obj_functor7 which wraps a functor. ">Sigc::track_obj()</a> tracks trackable objects, referenced from a functor </td></tr>
-<tr id="row_1_" class="even"><td class="entry"><span style="width:0px;display:inline-block;"> </span><span id="arr_1_" class="arrow" onclick="toggleFolder('1_')">▼</span><a class="el" href="group__sigcfunctors.html" target="_self">Functors</a></td><td class="desc">Functors are copyable types that define operator()() </td></tr>
-<tr id="row_1_0_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__slot.html" target="_self">Slots</a></td><td class="desc">Slots are type-safe representations of callback methods and functions </td></tr>
-<tr id="row_1_1_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__mem__fun.html" target="_self">mem_fun()</a></td><td class="desc">Mem_fun() is used to convert a pointer to a method to a functor </td></tr>
-<tr id="row_1_2_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__ptr__fun.html" target="_self">ptr_fun()</a></td><td class="desc">Ptr_fun() is used to convert a pointer to a function to a functor </td></tr>
-<tr id="row_2_" class="even"><td class="entry"><span style="width:0px;display:inline-block;"> </span><span id="arr_2_" class="arrow" onclick="toggleFolder('2_')">▼</span><a class="el" href="group__lambdas.html" target="_self">Lambdas</a></td><td class="desc">Libsigc++ ships with basic lambda functionality and the <a class="el" href="group__lambdas.html#ga56a5905d189af5fab33d8c456f097a29" title="Alters an arbitrary functor by rebuilding its arguments from 1 lambda expressions. ">sigc::group</a> adaptor, which uses lambdas to transform a functor's parameter list </td></tr>
-<tr id="row_2_0_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__group__.html" target="_self">group()</a></td><td class="desc"><a class="el" href="group__lambdas.html#ga993b22c0e13eb536edd9bcc3afd6d949" title="Alters an arbitrary functor by rebuilding its arguments from 3 lambda expressions. ">Sigc::group()</a> alters an arbitrary functor by rebuilding its arguments from one or more lambda expressions </td></tr>
-<tr id="row_3_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><a class="el" href="group__signal.html" target="_self">Signals</a></td><td class="desc">Use <a class="el" href="classsigc_1_1signal7.html#adc55ac9b0f935fd87a67904022e03cb2" title="Add a slot to the list of slots. ">sigc::signal::connect()</a> with <a class="el" href="group__mem__fun.html#gadf6b6d22c503b439019f0a2e77352419" title="Creates a functor of type sigc::mem_functor0 which wraps a method. ">sigc::mem_fun()</a> and <a class="el" href="group__ptr__fun.html#ga9c80de72f656fb05e81fda622dddc863" title="Creates a functor of type sigc::pointer_functor0 which wraps an existing non-member function...">sigc::ptr_fun()</a> to connect a method or function with a signal </td></tr>
+<tr id="row_0_3_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__hide.html" target="_self">hide(), hide_return()</a></td><td class="desc"><a class="el" href="group__hide.html#gacbbacd3553268d85b95e3a85aefb67e5" title="Creates an adaptor of type sigc::hide_functor which adds a dummy parameter to the passed functor...">Sigc::hide()</a> alters an arbitrary functor in that it adds a parameter whose value is ignored on invocation of the returned functor </td></tr>
+<tr id="row_0_4_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__retype.html" target="_self">retype(), retype_return()</a></td><td class="desc"><a class="el" href="group__retype.html#ga1ec0f19b59050f8f01c8969835b3c742" title="Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed...">Sigc::retype()</a> alters a sigc::pointer_functor, a sigc::mem_functor or a <a class="el" href="classsigc_1_1slot.html" title="Convenience wrapper for the numbered sigc::slot# templates. ">sigc::slot</a> in that it makes C-style casts to the functor's parameter types of all parameters passed through operator()() </td></tr>
+<tr id="row_0_5_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__track__obj.html" target="_self">track_obj()</a></td><td class="desc"><a class="el" href="group__track__obj.html#ga5ea3e9f52643d7ab1bcfa4f419e7d38f" title="Creates an adaptor of type sigc::track_obj_functor7 which wraps a functor. ">Sigc::track_obj()</a> tracks trackable objects, referenced from a functor </td></tr>
+<tr id="row_1_"><td class="entry"><span style="width:0px;display:inline-block;"> </span><span id="arr_1_" class="arrow" onclick="toggleFolder('1_')">▼</span><a class="el" href="group__sigcfunctors.html" target="_self">Functors</a></td><td class="desc">Functors are copyable types that define operator()() </td></tr>
+<tr id="row_1_0_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__slot.html" target="_self">Slots</a></td><td class="desc">Slots are type-safe representations of callback methods and functions </td></tr>
+<tr id="row_1_1_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__mem__fun.html" target="_self">mem_fun()</a></td><td class="desc">Mem_fun() is used to convert a pointer to a method to a functor </td></tr>
+<tr id="row_1_2_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__ptr__fun.html" target="_self">ptr_fun()</a></td><td class="desc">Ptr_fun() is used to convert a pointer to a function to a functor </td></tr>
+<tr id="row_2_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><a class="el" href="group__signal.html" target="_self">Signals</a></td><td class="desc">Use <a class="el" href="classsigc_1_1signal7.html#adc55ac9b0f935fd87a67904022e03cb2" title="Add a slot to the list of slots. ">sigc::signal::connect()</a> with <a class="el" href="group__mem__fun.html#gadf6b6d22c503b439019f0a2e77352419" title="Creates a functor of type sigc::mem_functor0 which wraps a method. ">sigc::mem_fun()</a> and <a class="el" href="group__ptr__fun.html#ga9c80de72f656fb05e81fda622dddc863" title="Creates a functor of type sigc::pointer_functor0 which wraps an existing non-member function...">sigc::ptr_fun()</a> to connect a method or function with a signal </td></tr>
</table>
</div><!-- directory -->
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
<li class="current"><a href="namespacemembers.html#index_b"><span>b</span></a></li>
<li><a href="namespacemembers_c.html#index_c"><span>c</span></a></li>
<li><a href="namespacemembers_e.html#index_e"><span>e</span></a></li>
- <li><a href="namespacemembers_g.html#index_g"><span>g</span></a></li>
<li><a href="namespacemembers_h.html#index_h"><span>h</span></a></li>
<li><a href="namespacemembers_m.html#index_m"><span>m</span></a></li>
<li><a href="namespacemembers_p.html#index_p"><span>p</span></a></li>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
<li><a href="namespacemembers.html#index_b"><span>b</span></a></li>
<li class="current"><a href="namespacemembers_c.html#index_c"><span>c</span></a></li>
<li><a href="namespacemembers_e.html#index_e"><span>e</span></a></li>
- <li><a href="namespacemembers_g.html#index_g"><span>g</span></a></li>
<li><a href="namespacemembers_h.html#index_h"><span>h</span></a></li>
<li><a href="namespacemembers_m.html#index_m"><span>m</span></a></li>
<li><a href="namespacemembers_p.html#index_p"><span>p</span></a></li>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
<li><a href="namespacemembers.html#index_b"><span>b</span></a></li>
<li><a href="namespacemembers_c.html#index_c"><span>c</span></a></li>
<li class="current"><a href="namespacemembers_e.html#index_e"><span>e</span></a></li>
- <li><a href="namespacemembers_g.html#index_g"><span>g</span></a></li>
<li><a href="namespacemembers_h.html#index_h"><span>h</span></a></li>
<li><a href="namespacemembers_m.html#index_m"><span>m</span></a></li>
<li><a href="namespacemembers_p.html#index_p"><span>p</span></a></li>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
<li class="current"><a href="namespacemembers_func.html#index_b"><span>b</span></a></li>
<li><a href="namespacemembers_func_c.html#index_c"><span>c</span></a></li>
<li><a href="namespacemembers_func_e.html#index_e"><span>e</span></a></li>
- <li><a href="namespacemembers_func_g.html#index_g"><span>g</span></a></li>
<li><a href="namespacemembers_func_h.html#index_h"><span>h</span></a></li>
<li><a href="namespacemembers_func_m.html#index_m"><span>m</span></a></li>
<li><a href="namespacemembers_func_p.html#index_p"><span>p</span></a></li>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
<li><a href="namespacemembers_func.html#index_b"><span>b</span></a></li>
<li class="current"><a href="namespacemembers_func_c.html#index_c"><span>c</span></a></li>
<li><a href="namespacemembers_func_e.html#index_e"><span>e</span></a></li>
- <li><a href="namespacemembers_func_g.html#index_g"><span>g</span></a></li>
<li><a href="namespacemembers_func_h.html#index_h"><span>h</span></a></li>
<li><a href="namespacemembers_func_m.html#index_m"><span>m</span></a></li>
<li><a href="namespacemembers_func_p.html#index_p"><span>p</span></a></li>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
<li><a href="namespacemembers_func.html#index_b"><span>b</span></a></li>
<li><a href="namespacemembers_func_c.html#index_c"><span>c</span></a></li>
<li class="current"><a href="namespacemembers_func_e.html#index_e"><span>e</span></a></li>
- <li><a href="namespacemembers_func_g.html#index_g"><span>g</span></a></li>
<li><a href="namespacemembers_func_h.html#index_h"><span>h</span></a></li>
<li><a href="namespacemembers_func_m.html#index_m"><span>m</span></a></li>
<li><a href="namespacemembers_func_p.html#index_p"><span>p</span></a></li>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
+++ /dev/null
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.9.1"/>
-<title>libsigc++: Namespace Members</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-<link href="doxygen-extra.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.9.1 -->
- <div id="navrow1" class="tabs">
- <ul class="tablist">
- <li><a href="index.html"><span>Main Page</span></a></li>
- <li><a href="pages.html"><span>Related Pages</span></a></li>
- <li><a href="modules.html"><span>Modules</span></a></li>
- <li class="current"><a href="namespaces.html"><span>Namespaces</span></a></li>
- <li><a href="annotated.html"><span>Classes</span></a></li>
- </ul>
- </div>
- <div id="navrow2" class="tabs2">
- <ul class="tablist">
- <li><a href="namespaces.html"><span>Namespace List</span></a></li>
- <li class="current"><a href="namespacemembers.html"><span>Namespace Members</span></a></li>
- </ul>
- </div>
- <div id="navrow3" class="tabs2">
- <ul class="tablist">
- <li><a href="namespacemembers.html"><span>All</span></a></li>
- <li class="current"><a href="namespacemembers_func.html"><span>Functions</span></a></li>
- </ul>
- </div>
- <div id="navrow4" class="tabs3">
- <ul class="tablist">
- <li><a href="namespacemembers_func.html#index_b"><span>b</span></a></li>
- <li><a href="namespacemembers_func_c.html#index_c"><span>c</span></a></li>
- <li><a href="namespacemembers_func_e.html#index_e"><span>e</span></a></li>
- <li class="current"><a href="namespacemembers_func_g.html#index_g"><span>g</span></a></li>
- <li><a href="namespacemembers_func_h.html#index_h"><span>h</span></a></li>
- <li><a href="namespacemembers_func_m.html#index_m"><span>m</span></a></li>
- <li><a href="namespacemembers_func_p.html#index_p"><span>p</span></a></li>
- <li><a href="namespacemembers_func_r.html#index_r"><span>r</span></a></li>
- <li><a href="namespacemembers_func_t.html#index_t"><span>t</span></a></li>
- <li><a href="namespacemembers_func_u.html#index_u"><span>u</span></a></li>
- <li><a href="namespacemembers_func_v.html#index_v"><span>v</span></a></li>
- </ul>
- </div>
-</div><!-- top -->
-<div class="contents">
- 
-
-<h3><a class="anchor" id="index_g"></a>- g -</h3><ul>
-<li>group()
-: <a class="el" href="group__lambdas.html#ga56a5905d189af5fab33d8c456f097a29">sigc</a>
-</li>
-</ul>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.9.1
-</small></address>
-</body>
-</html>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
<li><a href="namespacemembers_func.html#index_b"><span>b</span></a></li>
<li><a href="namespacemembers_func_c.html#index_c"><span>c</span></a></li>
<li><a href="namespacemembers_func_e.html#index_e"><span>e</span></a></li>
- <li><a href="namespacemembers_func_g.html#index_g"><span>g</span></a></li>
<li class="current"><a href="namespacemembers_func_h.html#index_h"><span>h</span></a></li>
<li><a href="namespacemembers_func_m.html#index_m"><span>m</span></a></li>
<li><a href="namespacemembers_func_p.html#index_p"><span>p</span></a></li>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
<li><a href="namespacemembers_func.html#index_b"><span>b</span></a></li>
<li><a href="namespacemembers_func_c.html#index_c"><span>c</span></a></li>
<li><a href="namespacemembers_func_e.html#index_e"><span>e</span></a></li>
- <li><a href="namespacemembers_func_g.html#index_g"><span>g</span></a></li>
<li><a href="namespacemembers_func_h.html#index_h"><span>h</span></a></li>
<li class="current"><a href="namespacemembers_func_m.html#index_m"><span>m</span></a></li>
<li><a href="namespacemembers_func_p.html#index_p"><span>p</span></a></li>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
<li><a href="namespacemembers_func.html#index_b"><span>b</span></a></li>
<li><a href="namespacemembers_func_c.html#index_c"><span>c</span></a></li>
<li><a href="namespacemembers_func_e.html#index_e"><span>e</span></a></li>
- <li><a href="namespacemembers_func_g.html#index_g"><span>g</span></a></li>
<li><a href="namespacemembers_func_h.html#index_h"><span>h</span></a></li>
<li><a href="namespacemembers_func_m.html#index_m"><span>m</span></a></li>
<li class="current"><a href="namespacemembers_func_p.html#index_p"><span>p</span></a></li>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
<li><a href="namespacemembers_func.html#index_b"><span>b</span></a></li>
<li><a href="namespacemembers_func_c.html#index_c"><span>c</span></a></li>
<li><a href="namespacemembers_func_e.html#index_e"><span>e</span></a></li>
- <li><a href="namespacemembers_func_g.html#index_g"><span>g</span></a></li>
<li><a href="namespacemembers_func_h.html#index_h"><span>h</span></a></li>
<li><a href="namespacemembers_func_m.html#index_m"><span>m</span></a></li>
<li><a href="namespacemembers_func_p.html#index_p"><span>p</span></a></li>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
<li><a href="namespacemembers_func.html#index_b"><span>b</span></a></li>
<li><a href="namespacemembers_func_c.html#index_c"><span>c</span></a></li>
<li><a href="namespacemembers_func_e.html#index_e"><span>e</span></a></li>
- <li><a href="namespacemembers_func_g.html#index_g"><span>g</span></a></li>
<li><a href="namespacemembers_func_h.html#index_h"><span>h</span></a></li>
<li><a href="namespacemembers_func_m.html#index_m"><span>m</span></a></li>
<li><a href="namespacemembers_func_p.html#index_p"><span>p</span></a></li>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
<li><a href="namespacemembers_func.html#index_b"><span>b</span></a></li>
<li><a href="namespacemembers_func_c.html#index_c"><span>c</span></a></li>
<li><a href="namespacemembers_func_e.html#index_e"><span>e</span></a></li>
- <li><a href="namespacemembers_func_g.html#index_g"><span>g</span></a></li>
<li><a href="namespacemembers_func_h.html#index_h"><span>h</span></a></li>
<li><a href="namespacemembers_func_m.html#index_m"><span>m</span></a></li>
<li><a href="namespacemembers_func_p.html#index_p"><span>p</span></a></li>
<li>unwrap()
: <a class="el" href="namespacesigc.html#a3b5529822bdaf60f07456633e0f40282">sigc</a>
</li>
-<li>unwrap_lambda_value()
-: <a class="el" href="group__lambdas.html#ga23fcae89c45fa2f28ed2ed421b2249ca">sigc</a>
-</li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
<li><a href="namespacemembers_func.html#index_b"><span>b</span></a></li>
<li><a href="namespacemembers_func_c.html#index_c"><span>c</span></a></li>
<li><a href="namespacemembers_func_e.html#index_e"><span>e</span></a></li>
- <li><a href="namespacemembers_func_g.html#index_g"><span>g</span></a></li>
<li><a href="namespacemembers_func_h.html#index_h"><span>h</span></a></li>
<li><a href="namespacemembers_func_m.html#index_m"><span>m</span></a></li>
<li><a href="namespacemembers_func_p.html#index_p"><span>p</span></a></li>
 
<h3><a class="anchor" id="index_v"></a>- v -</h3><ul>
-<li>var()
-: <a class="el" href="group__lambdas.html#ga8e560e6113af0c1e9f462471c1d502d4">sigc</a>
-</li>
<li>visit_each()
: <a class="el" href="group__sigcfunctors.html#ga64cb7832acc1e58efb5ffe0b4f5e9404">sigc</a>
</li>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
+++ /dev/null
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.9.1"/>
-<title>libsigc++: Namespace Members</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-<link href="doxygen-extra.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.9.1 -->
- <div id="navrow1" class="tabs">
- <ul class="tablist">
- <li><a href="index.html"><span>Main Page</span></a></li>
- <li><a href="pages.html"><span>Related Pages</span></a></li>
- <li><a href="modules.html"><span>Modules</span></a></li>
- <li class="current"><a href="namespaces.html"><span>Namespaces</span></a></li>
- <li><a href="annotated.html"><span>Classes</span></a></li>
- </ul>
- </div>
- <div id="navrow2" class="tabs2">
- <ul class="tablist">
- <li><a href="namespaces.html"><span>Namespace List</span></a></li>
- <li class="current"><a href="namespacemembers.html"><span>Namespace Members</span></a></li>
- </ul>
- </div>
- <div id="navrow3" class="tabs2">
- <ul class="tablist">
- <li class="current"><a href="namespacemembers.html"><span>All</span></a></li>
- <li><a href="namespacemembers_func.html"><span>Functions</span></a></li>
- </ul>
- </div>
- <div id="navrow4" class="tabs3">
- <ul class="tablist">
- <li><a href="namespacemembers.html#index_b"><span>b</span></a></li>
- <li><a href="namespacemembers_c.html#index_c"><span>c</span></a></li>
- <li><a href="namespacemembers_e.html#index_e"><span>e</span></a></li>
- <li class="current"><a href="namespacemembers_g.html#index_g"><span>g</span></a></li>
- <li><a href="namespacemembers_h.html#index_h"><span>h</span></a></li>
- <li><a href="namespacemembers_m.html#index_m"><span>m</span></a></li>
- <li><a href="namespacemembers_p.html#index_p"><span>p</span></a></li>
- <li><a href="namespacemembers_r.html#index_r"><span>r</span></a></li>
- <li><a href="namespacemembers_t.html#index_t"><span>t</span></a></li>
- <li><a href="namespacemembers_u.html#index_u"><span>u</span></a></li>
- <li><a href="namespacemembers_v.html#index_v"><span>v</span></a></li>
- </ul>
- </div>
-</div><!-- top -->
-<div class="contents">
-<div class="textblock">Here is a list of all namespace members with links to the namespace documentation for each member:</div>
-
-<h3><a class="anchor" id="index_g"></a>- g -</h3><ul>
-<li>group()
-: <a class="el" href="group__lambdas.html#ga56a5905d189af5fab33d8c456f097a29">sigc</a>
-</li>
-</ul>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.9.1
-</small></address>
-</body>
-</html>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
<li><a href="namespacemembers.html#index_b"><span>b</span></a></li>
<li><a href="namespacemembers_c.html#index_c"><span>c</span></a></li>
<li><a href="namespacemembers_e.html#index_e"><span>e</span></a></li>
- <li><a href="namespacemembers_g.html#index_g"><span>g</span></a></li>
<li class="current"><a href="namespacemembers_h.html#index_h"><span>h</span></a></li>
<li><a href="namespacemembers_m.html#index_m"><span>m</span></a></li>
<li><a href="namespacemembers_p.html#index_p"><span>p</span></a></li>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
<li><a href="namespacemembers.html#index_b"><span>b</span></a></li>
<li><a href="namespacemembers_c.html#index_c"><span>c</span></a></li>
<li><a href="namespacemembers_e.html#index_e"><span>e</span></a></li>
- <li><a href="namespacemembers_g.html#index_g"><span>g</span></a></li>
<li><a href="namespacemembers_h.html#index_h"><span>h</span></a></li>
<li class="current"><a href="namespacemembers_m.html#index_m"><span>m</span></a></li>
<li><a href="namespacemembers_p.html#index_p"><span>p</span></a></li>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
<li><a href="namespacemembers.html#index_b"><span>b</span></a></li>
<li><a href="namespacemembers_c.html#index_c"><span>c</span></a></li>
<li><a href="namespacemembers_e.html#index_e"><span>e</span></a></li>
- <li><a href="namespacemembers_g.html#index_g"><span>g</span></a></li>
<li><a href="namespacemembers_h.html#index_h"><span>h</span></a></li>
<li><a href="namespacemembers_m.html#index_m"><span>m</span></a></li>
<li class="current"><a href="namespacemembers_p.html#index_p"><span>p</span></a></li>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
<li><a href="namespacemembers.html#index_b"><span>b</span></a></li>
<li><a href="namespacemembers_c.html#index_c"><span>c</span></a></li>
<li><a href="namespacemembers_e.html#index_e"><span>e</span></a></li>
- <li><a href="namespacemembers_g.html#index_g"><span>g</span></a></li>
<li><a href="namespacemembers_h.html#index_h"><span>h</span></a></li>
<li><a href="namespacemembers_m.html#index_m"><span>m</span></a></li>
<li><a href="namespacemembers_p.html#index_p"><span>p</span></a></li>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
<li><a href="namespacemembers.html#index_b"><span>b</span></a></li>
<li><a href="namespacemembers_c.html#index_c"><span>c</span></a></li>
<li><a href="namespacemembers_e.html#index_e"><span>e</span></a></li>
- <li><a href="namespacemembers_g.html#index_g"><span>g</span></a></li>
<li><a href="namespacemembers_h.html#index_h"><span>h</span></a></li>
<li><a href="namespacemembers_m.html#index_m"><span>m</span></a></li>
<li><a href="namespacemembers_p.html#index_p"><span>p</span></a></li>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
<li><a href="namespacemembers.html#index_b"><span>b</span></a></li>
<li><a href="namespacemembers_c.html#index_c"><span>c</span></a></li>
<li><a href="namespacemembers_e.html#index_e"><span>e</span></a></li>
- <li><a href="namespacemembers_g.html#index_g"><span>g</span></a></li>
<li><a href="namespacemembers_h.html#index_h"><span>h</span></a></li>
<li><a href="namespacemembers_m.html#index_m"><span>m</span></a></li>
<li><a href="namespacemembers_p.html#index_p"><span>p</span></a></li>
<li>unwrap()
: <a class="el" href="namespacesigc.html#a3b5529822bdaf60f07456633e0f40282">sigc</a>
</li>
-<li>unwrap_lambda_value()
-: <a class="el" href="group__lambdas.html#ga23fcae89c45fa2f28ed2ed421b2249ca">sigc</a>
-</li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
<li><a href="namespacemembers.html#index_b"><span>b</span></a></li>
<li><a href="namespacemembers_c.html#index_c"><span>c</span></a></li>
<li><a href="namespacemembers_e.html#index_e"><span>e</span></a></li>
- <li><a href="namespacemembers_g.html#index_g"><span>g</span></a></li>
<li><a href="namespacemembers_h.html#index_h"><span>h</span></a></li>
<li><a href="namespacemembers_m.html#index_m"><span>m</span></a></li>
<li><a href="namespacemembers_p.html#index_p"><span>p</span></a></li>
<div class="textblock">Here is a list of all namespace members with links to the namespace documentation for each member:</div>
<h3><a class="anchor" id="index_v"></a>- v -</h3><ul>
-<li>var()
-: <a class="el" href="group__lambdas.html#ga8e560e6113af0c1e9f462471c1d502d4">sigc</a>
-</li>
<li>visit_each()
: <a class="el" href="group__sigcfunctors.html#ga64cb7832acc1e58efb5ffe0b4f5e9404">sigc</a>
</li>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classsigc_1_1bound__volatile__mem__functor7.html">bound_volatile_mem_functor7</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classsigc_1_1bound__volatile__mem__functor7.html" title="bound_volatile_mem_functor7 encapsulates a volatile method with 7 arguments and an object instance...">bound_volatile_mem_functor7</a> encapsulates a volatile method with 7 arguments and an object instance. <a href="classsigc_1_1bound__volatile__mem__functor7.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classsigc_1_1can__deduce__result__type__with__decltype.html">can_deduce_result_type_with_decltype</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Helper macro, to determine if decltype() can deduce the result type of a functor. <a href="classsigc_1_1can__deduce__result__type__with__decltype.html#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structsigc_1_1compose1__functor.html">compose1_functor</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Adaptor that combines two functors. <a href="structsigc_1_1compose1__functor.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structsigc_1_1is__base__and__derived_3_01T__base_00_01T__base_01_4.html">is_base_and_derived< T_base, T_base ></a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structsigc_1_1lambda.html">lambda</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Lambda type. <a href="structsigc_1_1lambda.html#details">More...</a><br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structsigc_1_1lambda__base.html">lambda_base</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">A hint to the compiler. <a href="structsigc_1_1lambda__base.html#details">More...</a><br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structsigc_1_1lambda__group1.html">lambda_group1</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="structsigc_1_1lambda__group1.html" title="lambda_group1 wraps a functor and rebuilds its arguments from 1 lambda expressions. ">lambda_group1</a> wraps a functor and rebuilds its arguments from 1 lambda expressions. <a href="structsigc_1_1lambda__group1.html#details">More...</a><br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structsigc_1_1lambda__group2.html">lambda_group2</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="structsigc_1_1lambda__group2.html" title="lambda_group2 wraps a functor and rebuilds its arguments from 2 lambda expressions. ">lambda_group2</a> wraps a functor and rebuilds its arguments from 2 lambda expressions. <a href="structsigc_1_1lambda__group2.html#details">More...</a><br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structsigc_1_1lambda__group3.html">lambda_group3</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="structsigc_1_1lambda__group3.html" title="lambda_group3 wraps a functor and rebuilds its arguments from 3 lambda expressions. ">lambda_group3</a> wraps a functor and rebuilds its arguments from 3 lambda expressions. <a href="structsigc_1_1lambda__group3.html#details">More...</a><br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classsigc_1_1limit__reference.html">limit_reference</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">A limit_reference<Foo> object stores a reference (Foo&), but make sure that, if Foo inherits from <a class="el" href="structsigc_1_1trackable.html" title="Base class for objects with auto-disconnection. ">sigc::trackable</a>, then <a class="el" href="group__sigcfunctors.html#ga64cb7832acc1e58efb5ffe0b4f5e9404" title="This function performs a functor on each of the targets of a functor. ">visit_each<>()</a> will "limit" itself to the <a class="el" href="structsigc_1_1trackable.html" title="Base class for objects with auto-disconnection. ">sigc::trackable</a> reference instead of the derived reference. <a href="classsigc_1_1limit__reference.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structsigc_1_1type__trait_3_01void_01_4.html">type_trait< void ></a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structsigc_1_1unwrap__lambda__type.html">unwrap_lambda_type</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Deduces the type of the object stored in an object of the passed lambda type. <a href="structsigc_1_1unwrap__lambda__type.html#details">More...</a><br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structsigc_1_1unwrap__lambda__type_3_01lambda_3_01T__type_01_4_01_4.html">unwrap_lambda_type< lambda< T_type > ></a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Deduces the type of the object stored in an object of the passed lambda type. <a href="structsigc_1_1unwrap__lambda__type_3_01lambda_3_01T__type_01_4_01_4.html#details">More...</a><br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structsigc_1_1unwrap__reference.html">unwrap_reference</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structsigc_1_1unwrap__reference_3_01const__reference__wrapper_3_01T__type_01_4_01_4.html">unwrap_reference< const_reference_wrapper< T_type > ></a></td></tr>
<tr class="memitem:a0ae3b8a1ba26920cee4d7d9df2c39ed9"><td class="memTemplParams" colspan="2">template<class T_functor , class T_catcher > </td></tr>
<tr class="memitem:a0ae3b8a1ba26920cee4d7d9df2c39ed9"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="structsigc_1_1exception__catch__functor.html">exception_catch_functor</a>< T_functor, T_catcher > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacesigc.html#a0ae3b8a1ba26920cee4d7d9df2c39ed9">exception_catch</a> (const T_functor& _A_func, const T_catcher& _A_catcher)</td></tr>
<tr class="separator:a0ae3b8a1ba26920cee4d7d9df2c39ed9"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga56a5905d189af5fab33d8c456f097a29"><td class="memTemplParams" colspan="2">template<class T_functor , class T_type1 > </td></tr>
-<tr class="memitem:ga56a5905d189af5fab33d8c456f097a29"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="structsigc_1_1lambda.html">lambda</a>< <a class="el" href="structsigc_1_1lambda__group1.html">lambda_group1</a>< T_functor, typename <a class="el" href="structsigc_1_1unwrap__reference.html">unwrap_reference</a>< T_type1 >::type > > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__lambdas.html#ga56a5905d189af5fab33d8c456f097a29">group</a> (const T_functor& _A_func, T_type1 _A_1)</td></tr>
-<tr class="memdesc:ga56a5905d189af5fab33d8c456f097a29"><td class="mdescLeft"> </td><td class="mdescRight">Alters an arbitrary functor by rebuilding its arguments from 1 lambda expressions. <a href="group__lambdas.html#ga56a5905d189af5fab33d8c456f097a29">More...</a><br /></td></tr>
-<tr class="separator:ga56a5905d189af5fab33d8c456f097a29"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:gaadbc8eaf9aa10213c228b53e69f3fead"><td class="memTemplParams" colspan="2">template<class T_functor , class T_type1 , class T_type2 > </td></tr>
-<tr class="memitem:gaadbc8eaf9aa10213c228b53e69f3fead"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="structsigc_1_1lambda.html">lambda</a>< <a class="el" href="structsigc_1_1lambda__group2.html">lambda_group2</a>< T_functor, typename <a class="el" href="structsigc_1_1unwrap__reference.html">unwrap_reference</a>< T_type1 >::type, typename <a class="el" href="structsigc_1_1unwrap__reference.html">unwrap_reference</a>< T_type2 >::type > > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__lambdas.html#gaadbc8eaf9aa10213c228b53e69f3fead">group</a> (const T_functor& _A_func, T_type1 _A_1, T_type2 _A_2)</td></tr>
-<tr class="memdesc:gaadbc8eaf9aa10213c228b53e69f3fead"><td class="mdescLeft"> </td><td class="mdescRight">Alters an arbitrary functor by rebuilding its arguments from 2 lambda expressions. <a href="group__lambdas.html#gaadbc8eaf9aa10213c228b53e69f3fead">More...</a><br /></td></tr>
-<tr class="separator:gaadbc8eaf9aa10213c228b53e69f3fead"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga993b22c0e13eb536edd9bcc3afd6d949"><td class="memTemplParams" colspan="2">template<class T_functor , class T_type1 , class T_type2 , class T_type3 > </td></tr>
-<tr class="memitem:ga993b22c0e13eb536edd9bcc3afd6d949"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="structsigc_1_1lambda.html">lambda</a>< <a class="el" href="structsigc_1_1lambda__group3.html">lambda_group3</a>< T_functor, typename <a class="el" href="structsigc_1_1unwrap__reference.html">unwrap_reference</a>< T_type1 >::type, typename <a class="el" href="structsigc_1_1unwrap__reference.html">unwrap_reference</a>< T_type2 >::type, typename <a class="el" href="structsigc_1_1unwrap__reference.html">unwrap_reference</a>< T_type3 >::type > > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__lambdas.html#ga993b22c0e13eb536edd9bcc3afd6d949">group</a> (const T_functor& _A_func, T_type1 _A_1, T_type2 _A_2, T_type3 _A_3)</td></tr>
-<tr class="memdesc:ga993b22c0e13eb536edd9bcc3afd6d949"><td class="mdescLeft"> </td><td class="mdescRight">Alters an arbitrary functor by rebuilding its arguments from 3 lambda expressions. <a href="group__lambdas.html#ga993b22c0e13eb536edd9bcc3afd6d949">More...</a><br /></td></tr>
-<tr class="separator:ga993b22c0e13eb536edd9bcc3afd6d949"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:gaf2cefea3a99acd44f68121424103172d"><td class="memTemplParams" colspan="2">template<int I_location, class T_functor > </td></tr>
<tr class="memitem:gaf2cefea3a99acd44f68121424103172d"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="structsigc_1_1hide__functor.html">hide_functor</a>< I_location, T_functor > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__hide.html#gaf2cefea3a99acd44f68121424103172d">hide</a> (const T_functor& _A_func)</td></tr>
<tr class="memdesc:gaf2cefea3a99acd44f68121424103172d"><td class="mdescLeft"> </td><td class="mdescRight">Creates an adaptor of type <a class="el" href="structsigc_1_1hide__functor.html" title="Adaptor that adds a dummy parameter to the wrapped functor. ">sigc::hide_functor</a> which adds a dummy parameter to the passed functor. <a href="group__hide.html#gaf2cefea3a99acd44f68121424103172d">More...</a><br /></td></tr>
<tr class="memitem:a2f758c77e8743093f938d0c5dbf06778"><td class="memTemplParams" colspan="2">template<class T_type > </td></tr>
<tr class="memitem:a2f758c77e8743093f938d0c5dbf06778"><td class="memTemplItemLeft" align="right" valign="top">const T_type& </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacesigc.html#a2f758c77e8743093f938d0c5dbf06778">unwrap</a> (const <a class="el" href="structsigc_1_1const__reference__wrapper.html">const_reference_wrapper</a>< T_type >& v)</td></tr>
<tr class="separator:a2f758c77e8743093f938d0c5dbf06778"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga5fbbd890bbed369b5a77ef375a34ab47"><td class="memTemplParams" colspan="2">template<class T_type > </td></tr>
-<tr class="memitem:ga5fbbd890bbed369b5a77ef375a34ab47"><td class="memTemplItemLeft" align="right" valign="top">T_type& </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__lambdas.html#ga5fbbd890bbed369b5a77ef375a34ab47">unwrap_lambda_value</a> (T_type& a)</td></tr>
-<tr class="memdesc:ga5fbbd890bbed369b5a77ef375a34ab47"><td class="mdescLeft"> </td><td class="mdescRight">Gets the object stored inside a lambda object. <a href="group__lambdas.html#ga5fbbd890bbed369b5a77ef375a34ab47">More...</a><br /></td></tr>
-<tr class="separator:ga5fbbd890bbed369b5a77ef375a34ab47"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga23fcae89c45fa2f28ed2ed421b2249ca"><td class="memTemplParams" colspan="2">template<class T_type > </td></tr>
-<tr class="memitem:ga23fcae89c45fa2f28ed2ed421b2249ca"><td class="memTemplItemLeft" align="right" valign="top">const T_type& </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__lambdas.html#ga23fcae89c45fa2f28ed2ed421b2249ca">unwrap_lambda_value</a> (const T_type& a)</td></tr>
-<tr class="memdesc:ga23fcae89c45fa2f28ed2ed421b2249ca"><td class="mdescLeft"> </td><td class="mdescRight">Gets the object stored inside a lambda object. <a href="group__lambdas.html#ga23fcae89c45fa2f28ed2ed421b2249ca">More...</a><br /></td></tr>
-<tr class="separator:ga23fcae89c45fa2f28ed2ed421b2249ca"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga075ab6d364e385be8ff683fb6c24151f"><td class="memTemplParams" colspan="2">template<class T_type > </td></tr>
-<tr class="memitem:ga075ab6d364e385be8ff683fb6c24151f"><td class="memTemplItemLeft" align="right" valign="top">const T_type& </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__lambdas.html#ga075ab6d364e385be8ff683fb6c24151f">unwrap_lambda_value</a> (const <a class="el" href="structsigc_1_1lambda.html">lambda</a>< T_type >& a)</td></tr>
-<tr class="memdesc:ga075ab6d364e385be8ff683fb6c24151f"><td class="mdescLeft"> </td><td class="mdescRight">Gets the object stored inside a lambda object. <a href="group__lambdas.html#ga075ab6d364e385be8ff683fb6c24151f">More...</a><br /></td></tr>
-<tr class="separator:ga075ab6d364e385be8ff683fb6c24151f"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga8e560e6113af0c1e9f462471c1d502d4"><td class="memTemplParams" colspan="2">template<class T_type > </td></tr>
-<tr class="memitem:ga8e560e6113af0c1e9f462471c1d502d4"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="structsigc_1_1lambda.html">lambda</a>< T_type& > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__lambdas.html#ga8e560e6113af0c1e9f462471c1d502d4">var</a> (T_type& v)</td></tr>
-<tr class="memdesc:ga8e560e6113af0c1e9f462471c1d502d4"><td class="mdescLeft"> </td><td class="mdescRight">Converts a reference into a lambda object. <a href="group__lambdas.html#ga8e560e6113af0c1e9f462471c1d502d4">More...</a><br /></td></tr>
-<tr class="separator:ga8e560e6113af0c1e9f462471c1d502d4"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga5c51a04bb54990fe3d508fa06e574249"><td class="memTemplParams" colspan="2">template<class T_type > </td></tr>
-<tr class="memitem:ga5c51a04bb54990fe3d508fa06e574249"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="structsigc_1_1lambda.html">lambda</a>< const T_type& > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__lambdas.html#ga5c51a04bb54990fe3d508fa06e574249">var</a> (const T_type& v)</td></tr>
-<tr class="memdesc:ga5c51a04bb54990fe3d508fa06e574249"><td class="mdescLeft"> </td><td class="mdescRight">Converts a constant reference into a lambda object. <a href="group__lambdas.html#ga5c51a04bb54990fe3d508fa06e574249">More...</a><br /></td></tr>
-<tr class="separator:ga5c51a04bb54990fe3d508fa06e574249"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga64cb7832acc1e58efb5ffe0b4f5e9404"><td class="memTemplParams" colspan="2">template<class T_action , class T_functor > </td></tr>
<tr class="memitem:ga64cb7832acc1e58efb5ffe0b4f5e9404"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__sigcfunctors.html#ga64cb7832acc1e58efb5ffe0b4f5e9404">visit_each</a> (const T_action& _A_action, const T_functor& _A_functor)</td></tr>
<tr class="memdesc:ga64cb7832acc1e58efb5ffe0b4f5e9404"><td class="mdescLeft"> </td><td class="mdescRight">This function performs a functor on each of the targets of a functor. <a href="group__sigcfunctors.html#ga64cb7832acc1e58efb5ffe0b4f5e9404">More...</a><br /></td></tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:28 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:28 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:28 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
<div class="dyncontent">
<div class="center"><img src="structsigc_1_1adaptor__base__inherit__graph.png" border="0" usemap="#sigc_1_1adaptor__base_inherit__map" alt="Inheritance graph"/></div>
<map name="sigc_1_1adaptor__base_inherit__map" id="sigc_1_1adaptor__base_inherit__map">
-<area shape="rect" id="node3" href="structsigc_1_1adapts.html" title="sigc::adapts\< T_setter \>" alt="" coords="386,85,567,111"/><area shape="rect" id="node6" href="structsigc_1_1adaptor__functor.html" title="Converts an arbitrary functor into an adaptor type. " alt="" coords="398,460,555,501"/><area shape="rect" id="node7" href="structsigc_1_1adapts.html" title="Base type for adaptors. " alt="" coords="383,526,571,553"/><area shape="rect" id="node25" href="structsigc_1_1lambda__base.html" title="A hint to the compiler. " alt="" coords="406,1179,547,1206"/><area shape="rect" id="node2" href="structsigc_1_1functor__base.html" title="A hint to the compiler. " alt="" coords="5,497,144,523"/><area shape="rect" id="node4" href="structsigc_1_1compose1__functor.html" title="Adaptor that combines two functors. " alt="" coords="630,5,805,47"/><area shape="rect" id="node5" href="structsigc_1_1compose2__functor.html" title="Adaptor that combines three functors. " alt="" coords="630,70,805,126"/><area shape="rect" id="node8" href="structsigc_1_1bind__functor_3_010_00_01T__functor_00_01T__bound_00_01nil_00_01nil_00_01nil_00_01nil_00_01nil_00_01nil_01_4.html" title="Adaptor that binds an argument to the wrapped functor. " alt="" coords="628,150,807,206"/><area shape="rect" id="node9" href="structsigc_1_1bind__functor_3-1_00_01T__functor_00_01T__type1_00_01nil_00_01nil_00_01nil_00_01nil_00_01nil_00_01nil_01_4.html" title="Adaptor that binds 1 argument(s) to the wrapped functor. " alt="" coords="630,230,805,286"/><area shape="rect" id="node10" href="structsigc_1_1bind__return__functor.html" title="Adaptor that fixes the return value of the wrapped functor. " alt="" coords="627,309,807,351"/><area shape="rect" id="node11" href="structsigc_1_1exception__catch__functor.html" title="sigc::exception_catch\l_functor\< T_functor \>" alt="" coords="636,375,799,416"/><area shape="rect" id="node12" href="structsigc_1_1exception__catch__functor_3_01T__functor_00_01T__catcher_00_01void_01_4.html" title="sigc::exception_catch\l_functor\< T_functor,\l T_catcher, void \>" alt="" coords="638,439,797,495"/><area shape="rect" id="node13" href="structsigc_1_1hide__functor_3_010_00_01T__functor_01_4.html" title="Adaptor that adds a dummy parameter to the wrapped functor. " alt="" coords="650,519,785,560"/><area shape="rect" id="node14" href="structsigc_1_1hide__functor_3-1_00_01T__functor_01_4.html" title="Adaptor that adds a dummy parameter to the wrapped functor. " alt="" coords="650,584,785,625"/><area shape="rect" id="node15" href="structsigc_1_1retype__functor.html" title="Adaptor that performs C-style casts on the parameters passed on to the functor. " alt="" coords="643,649,791,691"/><area shape="rect" id="node16" href="structsigc_1_1retype__return__functor.html" title="Adaptor that performs a C-style cast on the return value of a functor. " alt="" coords="636,715,799,756"/><area shape="rect" id="node17" href="structsigc_1_1retype__return__functor_3_01void_00_01T__functor_01_4.html" title="Adaptor that performs a C-style cast on the return value of a functor. " alt="" coords="619,780,816,821"/><area shape="rect" id="node18" href="classsigc_1_1track__obj__functor1.html" title="track_obj_functor1 wraps a functor and stores a reference to a trackable object. " alt="" coords="631,845,804,887"/><area shape="rect" id="node19" href="classsigc_1_1track__obj__functor2.html" title="track_obj_functor2 wraps a functor and stores 2 references to trackable objects. " alt="" coords="864,681,1037,723"/><area shape="rect" id="node20" href="classsigc_1_1track__obj__functor3.html" title="track_obj_functor3 wraps a functor and stores 3 references to trackable objects. " alt="" coords="864,747,1037,788"/><area shape="rect" id="node21" href="classsigc_1_1track__obj__functor4.html" title="track_obj_functor4 wraps a functor and stores 4 references to trackable objects. " alt="" coords="864,812,1037,853"/><area shape="rect" id="node22" href="classsigc_1_1track__obj__functor5.html" title="track_obj_functor5 wraps a functor and stores 5 references to trackable objects. " alt="" coords="864,877,1037,919"/><area shape="rect" id="node23" href="classsigc_1_1track__obj__functor6.html" title="track_obj_functor6 wraps a functor and stores 6 references to trackable objects. " alt="" coords="864,943,1037,984"/><area shape="rect" id="node24" href="classsigc_1_1track__obj__functor7.html" title="track_obj_functor7 wraps a functor and stores 7 references to trackable objects. " alt="" coords="864,1008,1037,1049"/><area shape="rect" id="node33" href="structsigc_1_1lambda__group1.html" title="lambda_group1 wraps a functor and rebuilds its arguments from 1 lambda expressions. " alt="" coords="633,1368,802,1409"/><area shape="rect" id="node34" href="structsigc_1_1lambda__group2.html" title="lambda_group2 wraps a functor and rebuilds its arguments from 2 lambda expressions. " alt="" coords="638,1433,797,1489"/><area shape="rect" id="node35" href="structsigc_1_1lambda__group3.html" title="lambda_group3 wraps a functor and rebuilds its arguments from 3 lambda expressions. " alt="" coords="638,1513,797,1569"/></map>
+<area shape="rect" id="node3" href="structsigc_1_1adapts.html" title="sigc::adapts\< T_setter \>" alt="" coords="386,85,567,111"/><area shape="rect" id="node6" href="structsigc_1_1adaptor__functor.html" title="Converts an arbitrary functor into an adaptor type. " alt="" coords="398,297,555,339"/><area shape="rect" id="node7" href="structsigc_1_1adapts.html" title="Base type for adaptors. " alt="" coords="383,490,571,517"/><area shape="rect" id="node2" href="structsigc_1_1functor__base.html" title="A hint to the compiler. " alt="" coords="5,305,144,331"/><area shape="rect" id="node4" href="structsigc_1_1compose1__functor.html" title="Adaptor that combines two functors. " alt="" coords="630,5,805,47"/><area shape="rect" id="node5" href="structsigc_1_1compose2__functor.html" title="Adaptor that combines three functors. " alt="" coords="630,70,805,126"/><area shape="rect" id="node8" href="structsigc_1_1bind__functor_3_010_00_01T__functor_00_01T__bound_00_01nil_00_01nil_00_01nil_00_01nil_00_01nil_00_01nil_01_4.html" title="Adaptor that binds an argument to the wrapped functor. " alt="" coords="628,150,807,206"/><area shape="rect" id="node9" href="structsigc_1_1bind__functor_3-1_00_01T__functor_00_01T__type1_00_01nil_00_01nil_00_01nil_00_01nil_00_01nil_00_01nil_01_4.html" title="Adaptor that binds 1 argument(s) to the wrapped functor. " alt="" coords="630,230,805,286"/><area shape="rect" id="node10" href="structsigc_1_1bind__return__functor.html" title="Adaptor that fixes the return value of the wrapped functor. " alt="" coords="627,309,807,351"/><area shape="rect" id="node11" href="structsigc_1_1exception__catch__functor.html" title="sigc::exception_catch\l_functor\< T_functor \>" alt="" coords="636,375,799,416"/><area shape="rect" id="node12" href="structsigc_1_1exception__catch__functor_3_01T__functor_00_01T__catcher_00_01void_01_4.html" title="sigc::exception_catch\l_functor\< T_functor,\l T_catcher, void \>" alt="" coords="638,439,797,495"/><area shape="rect" id="node13" href="structsigc_1_1hide__functor_3_010_00_01T__functor_01_4.html" title="Adaptor that adds a dummy parameter to the wrapped functor. " alt="" coords="650,519,785,560"/><area shape="rect" id="node14" href="structsigc_1_1hide__functor_3-1_00_01T__functor_01_4.html" title="Adaptor that adds a dummy parameter to the wrapped functor. " alt="" coords="650,584,785,625"/><area shape="rect" id="node15" href="structsigc_1_1retype__functor.html" title="Adaptor that performs C-style casts on the parameters passed on to the functor. " alt="" coords="643,649,791,691"/><area shape="rect" id="node16" href="structsigc_1_1retype__return__functor.html" title="Adaptor that performs a C-style cast on the return value of a functor. " alt="" coords="636,715,799,756"/><area shape="rect" id="node17" href="structsigc_1_1retype__return__functor_3_01void_00_01T__functor_01_4.html" title="Adaptor that performs a C-style cast on the return value of a functor. " alt="" coords="619,780,816,821"/><area shape="rect" id="node18" href="classsigc_1_1track__obj__functor1.html" title="track_obj_functor1 wraps a functor and stores a reference to a trackable object. " alt="" coords="631,845,804,887"/><area shape="rect" id="node19" href="classsigc_1_1track__obj__functor2.html" title="track_obj_functor2 wraps a functor and stores 2 references to trackable objects. " alt="" coords="864,681,1037,723"/><area shape="rect" id="node20" href="classsigc_1_1track__obj__functor3.html" title="track_obj_functor3 wraps a functor and stores 3 references to trackable objects. " alt="" coords="864,747,1037,788"/><area shape="rect" id="node21" href="classsigc_1_1track__obj__functor4.html" title="track_obj_functor4 wraps a functor and stores 4 references to trackable objects. " alt="" coords="864,812,1037,853"/><area shape="rect" id="node22" href="classsigc_1_1track__obj__functor5.html" title="track_obj_functor5 wraps a functor and stores 5 references to trackable objects. " alt="" coords="864,877,1037,919"/><area shape="rect" id="node23" href="classsigc_1_1track__obj__functor6.html" title="track_obj_functor6 wraps a functor and stores 6 references to trackable objects. " alt="" coords="864,943,1037,984"/><area shape="rect" id="node24" href="classsigc_1_1track__obj__functor7.html" title="track_obj_functor7 wraps a functor and stores 7 references to trackable objects. " alt="" coords="864,1008,1037,1049"/></map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>A hint to the compiler. </p>
</div></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:28 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:28 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:28 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:28 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:28 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:28 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:28 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:28 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:28 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
<div class="line"> <span class="keyword">template</span> <<span class="keyword">class</span> T_arg1=<span class="keywordtype">void</span>, <span class="keyword">class</span> T_arg2=<span class="keywordtype">void</span>></div>
<div class="line"> <span class="keyword">struct </span>deduce_result_type</div>
<div class="line"> { <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structsigc_1_1deduce__result__type.html#a97d97214974202d86af020af07b2e0c9">sigc::deduce_result_type<T_functor, T_arg1, T_arg2>::type</a> type; };</div>
-<div class="line"> <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structsigc_1_1functor__trait.html#a90c4188e1d98bdf394d77a3b1b1c065f">sigc::functor_trait<T_functor>::result_type</a> <a class="code" href="structsigc_1_1adapts.html#a914e75556dae1fdcf0162c4c99aca79d">result_type</a>;</div>
+<div class="line"> <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structsigc_1_1functor__trait.html#af1324bf0d3cec3d1f2e39e932b228d6d">sigc::functor_trait<T_functor>::result_type</a> <a class="code" href="structsigc_1_1adapts.html#a914e75556dae1fdcf0162c4c99aca79d">result_type</a>;</div>
<div class="line"> <span class="comment">//</span></div>
<div class="line"> result_type</div>
<div class="line"> operator()() <span class="keyword">const</span>;</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:28 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:28 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:28 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:28 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
<div class="dyncontent">
<div class="center"><img src="structsigc_1_1functor__base__inherit__graph.png" border="0" usemap="#sigc_1_1functor__base_inherit__map" alt="Inheritance graph"/></div>
<map name="sigc_1_1functor__base_inherit__map" id="sigc_1_1functor__base_inherit__map">
-<area shape="rect" id="node2" href="structsigc_1_1adaptor__base.html" title="A hint to the compiler. " alt="" coords="224,123,367,149"/><area shape="rect" id="node7" href="classsigc_1_1const__mem__functor0.html" title="const_mem_functor0 wraps const methods with 0 argument(s). " alt="" coords="200,231,391,273"/><area shape="rect" id="node9" href="classsigc_1_1const__mem__functor1.html" title="const_mem_functor1 wraps const methods with 1 argument(s). " alt="" coords="197,297,394,338"/><area shape="rect" id="node11" href="classsigc_1_1const__mem__functor2.html" title="const_mem_functor2 wraps const methods with 2 argument(s). " alt="" coords="200,361,391,417"/><area shape="rect" id="node12" href="classsigc_1_1const__mem__functor3.html" title="const_mem_functor3 wraps const methods with 3 argument(s). " alt="" coords="200,441,391,497"/><area shape="rect" id="node13" href="classsigc_1_1const__mem__functor4.html" title="const_mem_functor4 wraps const methods with 4 argument(s). " alt="" coords="200,521,391,577"/><area shape="rect" id="node14" href="classsigc_1_1const__mem__functor5.html" title="const_mem_functor5 wraps const methods with 5 argument(s). " alt="" coords="200,602,391,673"/><area shape="rect" id="node15" href="classsigc_1_1const__mem__functor6.html" title="const_mem_functor6 wraps const methods with 6 argument(s). " alt="" coords="200,697,391,767"/><area shape="rect" id="node16" href="classsigc_1_1const__mem__functor7.html" title="const_mem_functor7 wraps const methods with 7 argument(s). " alt="" coords="200,791,391,862"/><area shape="rect" id="node17" href="classsigc_1_1const__volatile__mem__functor0.html" title="const_volatile_mem_functor0 wraps const volatile methods with 0 argument(s). " alt="" coords="198,887,393,943"/><area shape="rect" id="node18" href="classsigc_1_1const__volatile__mem__functor1.html" title="const_volatile_mem_functor1 wraps const volatile methods with 1 argument(s). " alt="" coords="198,967,393,1023"/><area shape="rect" id="node19" href="classsigc_1_1const__volatile__mem__functor2.html" title="const_volatile_mem_functor2 wraps const volatile methods with 2 argument(s). " alt="" coords="198,1047,393,1103"/><area shape="rect" id="node20" href="classsigc_1_1const__volatile__mem__functor3.html" title="const_volatile_mem_functor3 wraps const volatile methods with 3 argument(s). " alt="" coords="198,1127,393,1198"/><area shape="rect" id="node21" href="classsigc_1_1const__volatile__mem__functor4.html" title="const_volatile_mem_functor4 wraps const volatile methods with 4 argument(s). " alt="" coords="198,1222,393,1293"/><area shape="rect" id="node22" href="classsigc_1_1const__volatile__mem__functor5.html" title="const_volatile_mem_functor5 wraps const volatile methods with 5 argument(s). " alt="" coords="198,1317,393,1387"/><area shape="rect" id="node23" href="classsigc_1_1const__volatile__mem__functor6.html" title="const_volatile_mem_functor6 wraps const volatile methods with 6 argument(s). " alt="" coords="198,1412,393,1497"/><area shape="rect" id="node24" href="classsigc_1_1const__volatile__mem__functor7.html" title="const_volatile_mem_functor7 wraps const volatile methods with 7 argument(s). " alt="" coords="198,1521,393,1607"/><area shape="rect" id="node25" href="classsigc_1_1mem__functor0.html" title="mem_functor0 wraps methods with 0 argument(s). " alt="" coords="221,1631,370,1673"/><area shape="rect" id="node26" href="classsigc_1_1mem__functor1.html" title="mem_functor1 wraps methods with 1 argument(s). " alt="" coords="221,1696,370,1752"/><area shape="rect" id="node27" href="classsigc_1_1mem__functor2.html" title="mem_functor2 wraps methods with 2 argument(s). " alt="" coords="221,1776,370,1832"/><area shape="rect" id="node28" href="classsigc_1_1mem__functor3.html" title="mem_functor3 wraps methods with 3 argument(s). " alt="" coords="208,1856,383,1912"/><area shape="rect" id="node29" href="classsigc_1_1mem__functor4.html" title="mem_functor4 wraps methods with 4 argument(s). " alt="" coords="213,1937,377,2007"/><area shape="rect" id="node30" href="classsigc_1_1mem__functor5.html" title="mem_functor5 wraps methods with 5 argument(s). " alt="" coords="213,2031,377,2102"/><area shape="rect" id="node31" href="classsigc_1_1mem__functor6.html" title="mem_functor6 wraps methods with 6 argument(s). " alt="" coords="202,2126,389,2197"/><area shape="rect" id="node32" href="classsigc_1_1mem__functor7.html" title="mem_functor7 wraps methods with 7 argument(s). " alt="" coords="208,2221,383,2307"/><area shape="rect" id="node33" href="classsigc_1_1pointer__functor0.html" title="pointer_functor0 wraps existing non-member functions with 0 argument(s). " alt="" coords="215,2331,375,2373"/><area shape="rect" id="node34" href="classsigc_1_1pointer__functor1.html" title="pointer_functor1 wraps existing non-member functions with 1 argument(s). " alt="" coords="215,2397,375,2438"/><area shape="rect" id="node35" href="classsigc_1_1pointer__functor2.html" title="pointer_functor2 wraps existing non-member functions with 2 argument(s). " alt="" coords="192,2462,399,2503"/><area shape="rect" id="node36" href="classsigc_1_1pointer__functor3.html" title="pointer_functor3 wraps existing non-member functions with 3 argument(s). " alt="" coords="202,2527,389,2583"/><area shape="rect" id="node37" href="classsigc_1_1pointer__functor4.html" title="pointer_functor4 wraps existing non-member functions with 4 argument(s). " alt="" coords="202,2607,389,2663"/><area shape="rect" id="node38" href="classsigc_1_1pointer__functor5.html" title="pointer_functor5 wraps existing non-member functions with 5 argument(s). " alt="" coords="197,2687,393,2743"/><area shape="rect" id="node39" href="classsigc_1_1pointer__functor6.html" title="pointer_functor6 wraps existing non-member functions with 6 argument(s). " alt="" coords="202,2767,389,2838"/><area shape="rect" id="node40" href="classsigc_1_1pointer__functor7.html" title="pointer_functor7 wraps existing non-member functions with 7 argument(s). " alt="" coords="202,2862,389,2933"/><area shape="rect" id="node41" href="classsigc_1_1slot__base.html" title="Base type for slots. " alt="" coords="237,2957,353,2984"/><area shape="rect" id="node42" href="classsigc_1_1volatile__mem__functor0.html" title="volatile_mem_functor0 wraps volatile methods with 0 argument(s). " alt="" coords="218,3008,373,3064"/><area shape="rect" id="node43" href="classsigc_1_1volatile__mem__functor1.html" title="volatile_mem_functor1 wraps volatile methods with 1 argument(s). " alt="" coords="218,3088,373,3144"/><area shape="rect" id="node44" href="classsigc_1_1volatile__mem__functor2.html" title="volatile_mem_functor2 wraps volatile methods with 2 argument(s). " alt="" coords="207,3168,383,3224"/><area shape="rect" id="node45" href="classsigc_1_1volatile__mem__functor3.html" title="volatile_mem_functor3 wraps volatile methods with 3 argument(s). " alt="" coords="213,3249,378,3319"/><area shape="rect" id="node46" href="classsigc_1_1volatile__mem__functor4.html" title="volatile_mem_functor4 wraps volatile methods with 4 argument(s). " alt="" coords="213,3343,378,3414"/><area shape="rect" id="node47" href="classsigc_1_1volatile__mem__functor5.html" title="volatile_mem_functor5 wraps volatile methods with 5 argument(s). " alt="" coords="202,3438,389,3509"/><area shape="rect" id="node48" href="classsigc_1_1volatile__mem__functor6.html" title="volatile_mem_functor6 wraps volatile methods with 6 argument(s). " alt="" coords="208,3533,383,3619"/><area shape="rect" id="node49" href="classsigc_1_1volatile__mem__functor7.html" title="volatile_mem_functor7 wraps volatile methods with 7 argument(s). " alt="" coords="208,3643,383,3728"/><area shape="rect" id="node3" href="structsigc_1_1adapts.html" title="sigc::adapts\< T_setter \>" alt="" coords="450,5,631,32"/><area shape="rect" id="node4" href="structsigc_1_1adaptor__functor.html" title="Converts an arbitrary functor into an adaptor type. " alt="" coords="462,57,619,98"/><area shape="rect" id="node5" href="structsigc_1_1adapts.html" title="Base type for adaptors. " alt="" coords="447,123,635,149"/><area shape="rect" id="node6" href="structsigc_1_1lambda__base.html" title="A hint to the compiler. " alt="" coords="470,173,611,200"/><area shape="rect" id="node8" href="classsigc_1_1bound__const__mem__functor0.html" title="bound_const_mem_functor0 encapsulates a const method with 0 arguments and an object instance..." alt="" coords="451,224,630,280"/><area shape="rect" id="node10" href="classsigc_1_1bound__const__mem__functor1.html" title="bound_const_mem_functor1 encapsulates a const method with 1 arguments and an object instance..." alt="" coords="451,304,630,360"/></map>
+<area shape="rect" id="node2" href="structsigc_1_1adaptor__base.html" title="A hint to the compiler. " alt="" coords="224,93,367,120"/><area shape="rect" id="node6" href="classsigc_1_1const__mem__functor0.html" title="const_mem_functor0 wraps const methods with 0 argument(s). " alt="" coords="200,185,391,226"/><area shape="rect" id="node8" href="classsigc_1_1const__mem__functor1.html" title="const_mem_functor1 wraps const methods with 1 argument(s). " alt="" coords="197,257,394,298"/><area shape="rect" id="node10" href="classsigc_1_1const__mem__functor2.html" title="const_mem_functor2 wraps const methods with 2 argument(s). " alt="" coords="200,321,391,377"/><area shape="rect" id="node12" href="classsigc_1_1const__mem__functor3.html" title="const_mem_functor3 wraps const methods with 3 argument(s). " alt="" coords="200,401,391,457"/><area shape="rect" id="node13" href="classsigc_1_1const__mem__functor4.html" title="const_mem_functor4 wraps const methods with 4 argument(s). " alt="" coords="200,481,391,537"/><area shape="rect" id="node14" href="classsigc_1_1const__mem__functor5.html" title="const_mem_functor5 wraps const methods with 5 argument(s). " alt="" coords="200,562,391,633"/><area shape="rect" id="node15" href="classsigc_1_1const__mem__functor6.html" title="const_mem_functor6 wraps const methods with 6 argument(s). " alt="" coords="200,657,391,727"/><area shape="rect" id="node16" href="classsigc_1_1const__mem__functor7.html" title="const_mem_functor7 wraps const methods with 7 argument(s). " alt="" coords="200,751,391,822"/><area shape="rect" id="node17" href="classsigc_1_1const__volatile__mem__functor0.html" title="const_volatile_mem_functor0 wraps const volatile methods with 0 argument(s). " alt="" coords="198,847,393,903"/><area shape="rect" id="node18" href="classsigc_1_1const__volatile__mem__functor1.html" title="const_volatile_mem_functor1 wraps const volatile methods with 1 argument(s). " alt="" coords="198,927,393,983"/><area shape="rect" id="node19" href="classsigc_1_1const__volatile__mem__functor2.html" title="const_volatile_mem_functor2 wraps const volatile methods with 2 argument(s). " alt="" coords="198,1007,393,1063"/><area shape="rect" id="node20" href="classsigc_1_1const__volatile__mem__functor3.html" title="const_volatile_mem_functor3 wraps const volatile methods with 3 argument(s). " alt="" coords="198,1087,393,1158"/><area shape="rect" id="node21" href="classsigc_1_1const__volatile__mem__functor4.html" title="const_volatile_mem_functor4 wraps const volatile methods with 4 argument(s). " alt="" coords="198,1182,393,1253"/><area shape="rect" id="node22" href="classsigc_1_1const__volatile__mem__functor5.html" title="const_volatile_mem_functor5 wraps const volatile methods with 5 argument(s). " alt="" coords="198,1277,393,1347"/><area shape="rect" id="node23" href="classsigc_1_1const__volatile__mem__functor6.html" title="const_volatile_mem_functor6 wraps const volatile methods with 6 argument(s). " alt="" coords="198,1372,393,1457"/><area shape="rect" id="node24" href="classsigc_1_1const__volatile__mem__functor7.html" title="const_volatile_mem_functor7 wraps const volatile methods with 7 argument(s). " alt="" coords="198,1481,393,1567"/><area shape="rect" id="node25" href="classsigc_1_1mem__functor0.html" title="mem_functor0 wraps methods with 0 argument(s). " alt="" coords="221,1591,370,1633"/><area shape="rect" id="node26" href="classsigc_1_1mem__functor1.html" title="mem_functor1 wraps methods with 1 argument(s). " alt="" coords="221,1656,370,1712"/><area shape="rect" id="node27" href="classsigc_1_1mem__functor2.html" title="mem_functor2 wraps methods with 2 argument(s). " alt="" coords="221,1736,370,1792"/><area shape="rect" id="node28" href="classsigc_1_1mem__functor3.html" title="mem_functor3 wraps methods with 3 argument(s). " alt="" coords="208,1816,383,1872"/><area shape="rect" id="node29" href="classsigc_1_1mem__functor4.html" title="mem_functor4 wraps methods with 4 argument(s). " alt="" coords="213,1897,377,1967"/><area shape="rect" id="node30" href="classsigc_1_1mem__functor5.html" title="mem_functor5 wraps methods with 5 argument(s). " alt="" coords="213,1991,377,2062"/><area shape="rect" id="node31" href="classsigc_1_1mem__functor6.html" title="mem_functor6 wraps methods with 6 argument(s). " alt="" coords="202,2086,389,2157"/><area shape="rect" id="node32" href="classsigc_1_1mem__functor7.html" title="mem_functor7 wraps methods with 7 argument(s). " alt="" coords="208,2181,383,2267"/><area shape="rect" id="node33" href="classsigc_1_1pointer__functor0.html" title="pointer_functor0 wraps existing non-member functions with 0 argument(s). " alt="" coords="215,2291,375,2333"/><area shape="rect" id="node34" href="classsigc_1_1pointer__functor1.html" title="pointer_functor1 wraps existing non-member functions with 1 argument(s). " alt="" coords="215,2357,375,2398"/><area shape="rect" id="node35" href="classsigc_1_1pointer__functor2.html" title="pointer_functor2 wraps existing non-member functions with 2 argument(s). " alt="" coords="192,2422,399,2463"/><area shape="rect" id="node36" href="classsigc_1_1pointer__functor3.html" title="pointer_functor3 wraps existing non-member functions with 3 argument(s). " alt="" coords="202,2487,389,2543"/><area shape="rect" id="node37" href="classsigc_1_1pointer__functor4.html" title="pointer_functor4 wraps existing non-member functions with 4 argument(s). " alt="" coords="202,2567,389,2623"/><area shape="rect" id="node38" href="classsigc_1_1pointer__functor5.html" title="pointer_functor5 wraps existing non-member functions with 5 argument(s). " alt="" coords="197,2647,393,2703"/><area shape="rect" id="node39" href="classsigc_1_1pointer__functor6.html" title="pointer_functor6 wraps existing non-member functions with 6 argument(s). " alt="" coords="202,2727,389,2798"/><area shape="rect" id="node40" href="classsigc_1_1pointer__functor7.html" title="pointer_functor7 wraps existing non-member functions with 7 argument(s). " alt="" coords="202,2822,389,2893"/><area shape="rect" id="node41" href="classsigc_1_1slot__base.html" title="Base type for slots. " alt="" coords="237,2917,353,2944"/><area shape="rect" id="node42" href="classsigc_1_1volatile__mem__functor0.html" title="volatile_mem_functor0 wraps volatile methods with 0 argument(s). " alt="" coords="218,2968,373,3024"/><area shape="rect" id="node43" href="classsigc_1_1volatile__mem__functor1.html" title="volatile_mem_functor1 wraps volatile methods with 1 argument(s). " alt="" coords="218,3048,373,3104"/><area shape="rect" id="node44" href="classsigc_1_1volatile__mem__functor2.html" title="volatile_mem_functor2 wraps volatile methods with 2 argument(s). " alt="" coords="207,3128,383,3184"/><area shape="rect" id="node45" href="classsigc_1_1volatile__mem__functor3.html" title="volatile_mem_functor3 wraps volatile methods with 3 argument(s). " alt="" coords="213,3209,378,3279"/><area shape="rect" id="node46" href="classsigc_1_1volatile__mem__functor4.html" title="volatile_mem_functor4 wraps volatile methods with 4 argument(s). " alt="" coords="213,3303,378,3374"/><area shape="rect" id="node47" href="classsigc_1_1volatile__mem__functor5.html" title="volatile_mem_functor5 wraps volatile methods with 5 argument(s). " alt="" coords="202,3398,389,3469"/><area shape="rect" id="node48" href="classsigc_1_1volatile__mem__functor6.html" title="volatile_mem_functor6 wraps volatile methods with 6 argument(s). " alt="" coords="208,3493,383,3579"/><area shape="rect" id="node49" href="classsigc_1_1volatile__mem__functor7.html" title="volatile_mem_functor7 wraps volatile methods with 7 argument(s). " alt="" coords="208,3603,383,3688"/><area shape="rect" id="node3" href="structsigc_1_1adapts.html" title="sigc::adapts\< T_setter \>" alt="" coords="450,5,631,32"/><area shape="rect" id="node4" href="structsigc_1_1adaptor__functor.html" title="Converts an arbitrary functor into an adaptor type. " alt="" coords="462,57,619,98"/><area shape="rect" id="node5" href="structsigc_1_1adapts.html" title="Base type for adaptors. " alt="" coords="447,123,635,149"/><area shape="rect" id="node7" href="classsigc_1_1bound__const__mem__functor0.html" title="bound_const_mem_functor0 encapsulates a const method with 0 arguments and an object instance..." alt="" coords="451,173,630,229"/><area shape="rect" id="node9" href="classsigc_1_1bound__const__mem__functor1.html" title="bound_const_mem_functor1 encapsulates a const method with 1 arguments and an object instance..." alt="" coords="451,253,630,309"/><area shape="rect" id="node11" href="classsigc_1_1bound__const__mem__functor2.html" title="bound_const_mem_functor2 encapsulates a const method with 2 arguments and an object instance..." alt="" coords="451,333,630,389"/></map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>A hint to the compiler. </p>
</div></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- top -->
<div class="header">
<div class="headertitle">
-<div class="title">sigc::functor_trait< T_functor, I_derives_functor_base > Member List</div> </div>
+<div class="title">sigc::functor_trait< T_functor, I_derives_functor_base, I_can_use_decltype > Member List</div> </div>
</div><!--header-->
<div class="contents">
-<p>This is the complete list of members for <a class="el" href="structsigc_1_1functor__trait.html">sigc::functor_trait< T_functor, I_derives_functor_base ></a>, including all inherited members.</p>
+<p>This is the complete list of members for <a class="el" href="structsigc_1_1functor__trait.html">sigc::functor_trait< T_functor, I_derives_functor_base, I_can_use_decltype ></a>, including all inherited members.</p>
<table class="directory">
- <tr class="even"><td class="entry"><a class="el" href="structsigc_1_1functor__trait.html#aaa889e97aa5a7a6af00f500df7d143e9">functor_type</a> typedef</td><td class="entry"><a class="el" href="structsigc_1_1functor__trait.html">sigc::functor_trait< T_functor, I_derives_functor_base ></a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="structsigc_1_1functor__trait.html#a90c4188e1d98bdf394d77a3b1b1c065f">result_type</a> typedef</td><td class="entry"><a class="el" href="structsigc_1_1functor__trait.html">sigc::functor_trait< T_functor, I_derives_functor_base ></a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structsigc_1_1functor__trait.html#ac779b3d3d04e78d57b6b2ae4545b1667">functor_type</a> typedef</td><td class="entry"><a class="el" href="structsigc_1_1functor__trait.html">sigc::functor_trait< T_functor, I_derives_functor_base, I_can_use_decltype ></a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="structsigc_1_1functor__trait.html#af1324bf0d3cec3d1f2e39e932b228d6d">result_type</a> typedef</td><td class="entry"><a class="el" href="structsigc_1_1functor__trait.html">sigc::functor_trait< T_functor, I_derives_functor_base, I_can_use_decltype ></a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.9.1"/>
-<title>libsigc++: sigc::functor_trait< T_functor, I_derives_functor_base > Struct Template Reference</title>
+<title>libsigc++: sigc::functor_trait< T_functor, I_derives_functor_base, I_can_use_decltype > Struct Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
<a href="#pub-types">Public Types</a> |
<a href="structsigc_1_1functor__trait-members.html">List of all members</a> </div>
<div class="headertitle">
-<div class="title">sigc::functor_trait< T_functor, I_derives_functor_base > Struct Template Reference<div class="ingroups"><a class="el" href="group__sigcfunctors.html">Functors</a></div></div> </div>
+<div class="title">sigc::functor_trait< T_functor, I_derives_functor_base, I_can_use_decltype > Struct Template Reference<div class="ingroups"><a class="el" href="group__sigcfunctors.html">Functors</a></div></div> </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
-<tr class="memitem:aaa889e97aa5a7a6af00f500df7d143e9"><td class="memItemLeft" align="right" valign="top">typedef T_functor </td><td class="memItemRight" valign="bottom"><a class="el" href="structsigc_1_1functor__trait.html#aaa889e97aa5a7a6af00f500df7d143e9">functor_type</a></td></tr>
-<tr class="separator:aaa889e97aa5a7a6af00f500df7d143e9"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a90c4188e1d98bdf394d77a3b1b1c065f"><td class="memItemLeft" align="right" valign="top">typedef void </td><td class="memItemRight" valign="bottom"><a class="el" href="structsigc_1_1functor__trait.html#a90c4188e1d98bdf394d77a3b1b1c065f">result_type</a></td></tr>
-<tr class="separator:a90c4188e1d98bdf394d77a3b1b1c065f"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ac779b3d3d04e78d57b6b2ae4545b1667"><td class="memItemLeft" align="right" valign="top">typedef T_functor </td><td class="memItemRight" valign="bottom"><a class="el" href="structsigc_1_1functor__trait.html#ac779b3d3d04e78d57b6b2ae4545b1667">functor_type</a></td></tr>
+<tr class="separator:ac779b3d3d04e78d57b6b2ae4545b1667"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:af1324bf0d3cec3d1f2e39e932b228d6d"><td class="memItemLeft" align="right" valign="top">typedef void </td><td class="memItemRight" valign="bottom"><a class="el" href="structsigc_1_1functor__trait.html#af1324bf0d3cec3d1f2e39e932b228d6d">result_type</a></td></tr>
+<tr class="separator:af1324bf0d3cec3d1f2e39e932b228d6d"><td class="memSeparator" colspan="2"> </td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<div class="textblock"><h3>template<class T_functor, bool I_derives_functor_base = is_base_and_derived<functor_base,T_functor>::value><br />
-struct sigc::functor_trait< T_functor, I_derives_functor_base ></h3>
+<div class="textblock"><h3>template<class T_functor, bool I_derives_functor_base = is_base_and_derived<functor_base,T_functor>::value, bool I_can_use_decltype = can_deduce_result_type_with_decltype<T_functor>::value><br />
+struct sigc::functor_trait< T_functor, I_derives_functor_base, I_can_use_decltype ></h3>
<p>Trait that specifies the return type of any type. </p>
-<p>Template specializations for functors derived from <a class="el" href="structsigc_1_1functor__base.html" title="A hint to the compiler. ">sigc::functor_base</a>, for function pointers and for class methods are provided.</p>
+<p>Template specializations for functors derived from <a class="el" href="structsigc_1_1functor__base.html" title="A hint to the compiler. ">sigc::functor_base</a>, for other functors whose result type can be deduced with decltype(), for function pointers and for class methods are provided.</p>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">T_functor</td><td>Functor type. </td></tr>
<tr><td class="paramname">I_derives_functor_base</td><td>Whether <code>T_functor</code> inherits from <a class="el" href="structsigc_1_1functor__base.html" title="A hint to the compiler. ">sigc::functor_base</a>. </td></tr>
+ <tr><td class="paramname">I_can_use_decltype</td><td>Whether the result type of <code>T_functor</code> can be deduced with decltype(). </td></tr>
</table>
</dd>
</dl>
</div><h2 class="groupheader">Member Typedef Documentation</h2>
-<a class="anchor" id="aaa889e97aa5a7a6af00f500df7d143e9"></a>
+<a class="anchor" id="ac779b3d3d04e78d57b6b2ae4545b1667"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
-template <class T_functor, bool I_derives_functor_base = is_base_and_derived<functor_base,T_functor>::value> </div>
+template <class T_functor, bool I_derives_functor_base = is_base_and_derived<functor_base,T_functor>::value, bool I_can_use_decltype = can_deduce_result_type_with_decltype<T_functor>::value> </div>
<table class="memname">
<tr>
- <td class="memname">typedef T_functor <a class="el" href="structsigc_1_1functor__trait.html">sigc::functor_trait</a>< T_functor, I_derives_functor_base >::<a class="el" href="structsigc_1_1functor__trait.html#aaa889e97aa5a7a6af00f500df7d143e9">functor_type</a></td>
+ <td class="memname">typedef T_functor <a class="el" href="structsigc_1_1functor__trait.html">sigc::functor_trait</a>< T_functor, I_derives_functor_base, I_can_use_decltype >::<a class="el" href="structsigc_1_1functor__trait.html#ac779b3d3d04e78d57b6b2ae4545b1667">functor_type</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
-<a class="anchor" id="a90c4188e1d98bdf394d77a3b1b1c065f"></a>
+<a class="anchor" id="af1324bf0d3cec3d1f2e39e932b228d6d"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
-template <class T_functor, bool I_derives_functor_base = is_base_and_derived<functor_base,T_functor>::value> </div>
+template <class T_functor, bool I_derives_functor_base = is_base_and_derived<functor_base,T_functor>::value, bool I_can_use_decltype = can_deduce_result_type_with_decltype<T_functor>::value> </div>
<table class="memname">
<tr>
- <td class="memname">typedef void <a class="el" href="structsigc_1_1functor__trait.html">sigc::functor_trait</a>< T_functor, I_derives_functor_base >::<a class="el" href="structsigc_1_1functor__trait.html#a90c4188e1d98bdf394d77a3b1b1c065f">result_type</a></td>
+ <td class="memname">typedef void <a class="el" href="structsigc_1_1functor__trait.html">sigc::functor_trait</a>< T_functor, I_derives_functor_base, I_can_use_decltype >::<a class="el" href="structsigc_1_1functor__trait.html#af1324bf0d3cec3d1f2e39e932b228d6d">result_type</a></td>
</tr>
</table>
</div><div class="memdoc">
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:53 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
+++ /dev/null
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.9.1"/>
-<title>libsigc++: Member List</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-<link href="doxygen-extra.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.9.1 -->
- <div id="navrow1" class="tabs">
- <ul class="tablist">
- <li><a href="index.html"><span>Main Page</span></a></li>
- <li><a href="pages.html"><span>Related Pages</span></a></li>
- <li><a href="modules.html"><span>Modules</span></a></li>
- <li><a href="namespaces.html"><span>Namespaces</span></a></li>
- <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
- </ul>
- </div>
- <div id="navrow2" class="tabs2">
- <ul class="tablist">
- <li><a href="annotated.html"><span>Class List</span></a></li>
- <li><a href="classes.html"><span>Class Index</span></a></li>
- <li><a href="inherits.html"><span>Class Hierarchy</span></a></li>
- <li><a href="functions.html"><span>Class Members</span></a></li>
- </ul>
- </div>
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="namespacesigc.html">sigc</a></li><li class="navelem"><a class="el" href="structsigc_1_1lambda.html">lambda</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sigc::lambda< T_type > Member List</div> </div>
-</div><!--header-->
-<div class="contents">
-
-<p>This is the complete list of members for <a class="el" href="structsigc_1_1lambda.html">sigc::lambda< T_type ></a>, including all inherited members.</p>
-<table class="directory">
- <tr class="even"><td class="entry"><a class="el" href="structsigc_1_1lambda.html#a98c9c8c66727f22d6f53358d48ddd949">lambda</a>()</td><td class="entry"><a class="el" href="structsigc_1_1lambda.html">sigc::lambda< T_type ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="structsigc_1_1lambda.html#a91e27c4fdac4597967558b32559bee90">lambda</a>(typename type_trait< T_type >::take v)</td><td class="entry"><a class="el" href="structsigc_1_1lambda.html">sigc::lambda< T_type ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="structsigc_1_1lambda.html#aa49660a600600aa81efce5b6abfe5972">operator=</a>(const T_arg& a) const </td><td class="entry"><a class="el" href="structsigc_1_1lambda.html">sigc::lambda< T_type ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="structsigc_1_1lambda.html#a8c3c0659edeb1fdd4108e03be8ba0345">operator[]</a>(const T_arg& a) const </td><td class="entry"><a class="el" href="structsigc_1_1lambda.html">sigc::lambda< T_type ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="structsigc_1_1lambda.html#ad25413132b4ce715f39e412fb0fc8945">self</a> typedef</td><td class="entry"><a class="el" href="structsigc_1_1lambda.html">sigc::lambda< T_type ></a></td><td class="entry"></td></tr>
-</table></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.9.1
-</small></address>
-</body>
-</html>
+++ /dev/null
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.9.1"/>
-<title>libsigc++: sigc::lambda< T_type > Struct Template Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-<link href="doxygen-extra.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.9.1 -->
- <div id="navrow1" class="tabs">
- <ul class="tablist">
- <li><a href="index.html"><span>Main Page</span></a></li>
- <li><a href="pages.html"><span>Related Pages</span></a></li>
- <li><a href="modules.html"><span>Modules</span></a></li>
- <li><a href="namespaces.html"><span>Namespaces</span></a></li>
- <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
- </ul>
- </div>
- <div id="navrow2" class="tabs2">
- <ul class="tablist">
- <li><a href="annotated.html"><span>Class List</span></a></li>
- <li><a href="classes.html"><span>Class Index</span></a></li>
- <li><a href="inherits.html"><span>Class Hierarchy</span></a></li>
- <li><a href="functions.html"><span>Class Members</span></a></li>
- </ul>
- </div>
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="namespacesigc.html">sigc</a></li><li class="navelem"><a class="el" href="structsigc_1_1lambda.html">lambda</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="summary">
-<a href="#pub-types">Public Types</a> |
-<a href="#pub-methods">Public Member Functions</a> |
-<a href="structsigc_1_1lambda-members.html">List of all members</a> </div>
- <div class="headertitle">
-<div class="title">sigc::lambda< T_type > Struct Template Reference<div class="ingroups"><a class="el" href="group__lambdas.html">Lambdas</a></div></div> </div>
-</div><!--header-->
-<div class="contents">
-
-<p>Lambda type.
- <a href="structsigc_1_1lambda.html#details">More...</a></p>
-
-<p><code>#include <sigc++/adaptors/lambda/base.h></code></p>
-<div class="dynheader">
-Inheritance diagram for sigc::lambda< T_type >:</div>
-<div class="dyncontent">
-<div class="center"><img src="structsigc_1_1lambda__inherit__graph.png" border="0" usemap="#sigc_1_1lambda_3_01T__type_01_4_inherit__map" alt="Inheritance graph"/></div>
-<map name="sigc_1_1lambda_3_01T__type_01_4_inherit__map" id="sigc_1_1lambda_3_01T__type_01_4_inherit__map">
-</map>
-<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
-Public Types</h2></td></tr>
-<tr class="memitem:ad25413132b4ce715f39e412fb0fc8945"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="structsigc_1_1lambda.html">lambda</a>< T_type > </td><td class="memItemRight" valign="bottom"><a class="el" href="structsigc_1_1lambda.html#ad25413132b4ce715f39e412fb0fc8945">self</a></td></tr>
-<tr class="separator:ad25413132b4ce715f39e412fb0fc8945"><td class="memSeparator" colspan="2"> </td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
-Public Member Functions</h2></td></tr>
-<tr class="memitem:a98c9c8c66727f22d6f53358d48ddd949"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="structsigc_1_1lambda.html#a98c9c8c66727f22d6f53358d48ddd949">lambda</a> ()</td></tr>
-<tr class="separator:a98c9c8c66727f22d6f53358d48ddd949"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a91e27c4fdac4597967558b32559bee90"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="structsigc_1_1lambda.html#a91e27c4fdac4597967558b32559bee90">lambda</a> (typename <a class="el" href="structsigc_1_1type__trait.html">type_trait</a>< T_type >::take v)</td></tr>
-<tr class="separator:a91e27c4fdac4597967558b32559bee90"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:aa49660a600600aa81efce5b6abfe5972"><td class="memTemplParams" colspan="2">template<class T_arg > </td></tr>
-<tr class="memitem:aa49660a600600aa81efce5b6abfe5972"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="structsigc_1_1lambda.html">lambda</a>< lambda_operator<other< assign >, <a class="el" href="structsigc_1_1lambda.html#ad25413132b4ce715f39e412fb0fc8945">self</a>, typename <a class="el" href="structsigc_1_1unwrap__lambda__type.html">unwrap_lambda_type</a>< T_arg >::type > > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="structsigc_1_1lambda.html#aa49660a600600aa81efce5b6abfe5972">operator=</a> (const T_arg& a) const </td></tr>
-<tr class="separator:aa49660a600600aa81efce5b6abfe5972"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a8c3c0659edeb1fdd4108e03be8ba0345"><td class="memTemplParams" colspan="2">template<class T_arg > </td></tr>
-<tr class="memitem:a8c3c0659edeb1fdd4108e03be8ba0345"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="structsigc_1_1lambda.html">lambda</a>< lambda_operator<other< subscript >, <a class="el" href="structsigc_1_1lambda.html#ad25413132b4ce715f39e412fb0fc8945">self</a>, typename <a class="el" href="structsigc_1_1unwrap__lambda__type.html">unwrap_lambda_type</a>< T_arg >::type > > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="structsigc_1_1lambda.html#a8c3c0659edeb1fdd4108e03be8ba0345">operator[]</a> (const T_arg& a) const </td></tr>
-<tr class="separator:a8c3c0659edeb1fdd4108e03be8ba0345"><td class="memSeparator" colspan="2"> </td></tr>
-</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<div class="textblock"><h3>template<class T_type><br />
-struct sigc::lambda< T_type ></h3>
-
-<p>Lambda type. </p>
-<p>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.</p>
-<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000006">Deprecated:</a></b></dt><dd>Use C++11 lambda expressions instead.</dd></dl>
-</div><h2 class="groupheader">Member Typedef Documentation</h2>
-<a class="anchor" id="ad25413132b4ce715f39e412fb0fc8945"></a>
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template <class T_type> </div>
- <table class="memname">
- <tr>
- <td class="memname">typedef <a class="el" href="structsigc_1_1lambda.html">lambda</a><T_type> <a class="el" href="structsigc_1_1lambda.html">sigc::lambda</a>< T_type >::<a class="el" href="structsigc_1_1lambda.html#ad25413132b4ce715f39e412fb0fc8945">self</a></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<h2 class="groupheader">Constructor & Destructor Documentation</h2>
-<a class="anchor" id="a98c9c8c66727f22d6f53358d48ddd949"></a>
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template <class T_type> </div>
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="structsigc_1_1lambda.html">sigc::lambda</a>< T_type >::<a class="el" href="structsigc_1_1lambda.html">lambda</a> </td>
- <td>(</td>
- <td class="paramname"></td><td>)</td>
- <td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span></span> </td>
- </tr>
-</table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a91e27c4fdac4597967558b32559bee90"></a>
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template <class T_type> </div>
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="structsigc_1_1lambda.html">sigc::lambda</a>< T_type >::<a class="el" href="structsigc_1_1lambda.html">lambda</a> </td>
- <td>(</td>
- <td class="paramtype">typename <a class="el" href="structsigc_1_1type__trait.html">type_trait</a>< T_type >::take </td>
- <td class="paramname"><em>v</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span></span> </td>
- </tr>
-</table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<h2 class="groupheader">Member Function Documentation</h2>
-<a class="anchor" id="aa49660a600600aa81efce5b6abfe5972"></a>
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template <class T_type> </div>
-<div class="memtemplate">
-template <class T_arg > </div>
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="structsigc_1_1lambda.html">lambda</a><lambda_operator<other<assign>, <a class="el" href="structsigc_1_1lambda.html#ad25413132b4ce715f39e412fb0fc8945">self</a>, typename <a class="el" href="structsigc_1_1unwrap__lambda__type.html">unwrap_lambda_type</a><T_arg>::type> > <a class="el" href="structsigc_1_1lambda.html">sigc::lambda</a>< T_type >::operator= </td>
- <td>(</td>
- <td class="paramtype">const T_arg & </td>
- <td class="paramname"><em>a</em></td><td>)</td>
- <td> const</td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span></span> </td>
- </tr>
-</table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a8c3c0659edeb1fdd4108e03be8ba0345"></a>
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template <class T_type> </div>
-<div class="memtemplate">
-template <class T_arg > </div>
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="structsigc_1_1lambda.html">lambda</a><lambda_operator<other<subscript>, <a class="el" href="structsigc_1_1lambda.html#ad25413132b4ce715f39e412fb0fc8945">self</a>, typename <a class="el" href="structsigc_1_1unwrap__lambda__type.html">unwrap_lambda_type</a><T_arg>::type> > <a class="el" href="structsigc_1_1lambda.html">sigc::lambda</a>< T_type >::operator[] </td>
- <td>(</td>
- <td class="paramtype">const T_arg & </td>
- <td class="paramname"><em>a</em></td><td>)</td>
- <td> const</td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span></span> </td>
- </tr>
-</table>
-</div><div class="memdoc">
-
-</div>
-</div>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.9.1
-</small></address>
-</body>
-</html>
+++ /dev/null
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.9.1"/>
-<title>libsigc++: sigc::lambda_base Struct Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-<link href="doxygen-extra.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.9.1 -->
- <div id="navrow1" class="tabs">
- <ul class="tablist">
- <li><a href="index.html"><span>Main Page</span></a></li>
- <li><a href="pages.html"><span>Related Pages</span></a></li>
- <li><a href="modules.html"><span>Modules</span></a></li>
- <li><a href="namespaces.html"><span>Namespaces</span></a></li>
- <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
- </ul>
- </div>
- <div id="navrow2" class="tabs2">
- <ul class="tablist">
- <li><a href="annotated.html"><span>Class List</span></a></li>
- <li><a href="classes.html"><span>Class Index</span></a></li>
- <li><a href="inherits.html"><span>Class Hierarchy</span></a></li>
- <li><a href="functions.html"><span>Class Members</span></a></li>
- </ul>
- </div>
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="namespacesigc.html">sigc</a></li><li class="navelem"><a class="el" href="structsigc_1_1lambda__base.html">lambda_base</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sigc::lambda_base Struct Reference<div class="ingroups"><a class="el" href="group__lambdas.html">Lambdas</a></div></div> </div>
-</div><!--header-->
-<div class="contents">
-
-<p>A hint to the compiler.
- <a href="structsigc_1_1lambda__base.html#details">More...</a></p>
-
-<p><code>#include <sigc++/adaptors/lambda/base.h></code></p>
-<div class="dynheader">
-Inheritance diagram for sigc::lambda_base:</div>
-<div class="dyncontent">
-<div class="center"><img src="structsigc_1_1lambda__base__inherit__graph.png" border="0" usemap="#sigc_1_1lambda__base_inherit__map" alt="Inheritance graph"/></div>
-<map name="sigc_1_1lambda__base_inherit__map" id="sigc_1_1lambda__base_inherit__map">
-<area shape="rect" id="node11" href="structsigc_1_1lambda__group1.html" title="lambda_group1 wraps a functor and rebuilds its arguments from 1 lambda expressions. " alt="" coords="572,463,741,504"/><area shape="rect" id="node12" href="structsigc_1_1lambda__group2.html" title="lambda_group2 wraps a functor and rebuilds its arguments from 2 lambda expressions. " alt="" coords="577,527,736,583"/><area shape="rect" id="node13" href="structsigc_1_1lambda__group3.html" title="lambda_group3 wraps a functor and rebuilds its arguments from 3 lambda expressions. " alt="" coords="577,607,736,663"/><area shape="rect" id="node2" href="structsigc_1_1adaptor__base.html" title="A hint to the compiler. " alt="" coords="192,307,335,334"/><area shape="rect" id="node3" href="structsigc_1_1functor__base.html" title="A hint to the compiler. " alt="" coords="5,307,144,334"/></map>
-<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<div class="textblock"><p>A hint to the compiler. </p>
-<p>All lambda types publically inherit from this hint.</p>
-<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000002">Deprecated:</a></b></dt><dd>Use C++11 lambda expressions instead.</dd></dl>
-</div></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.9.1
-</small></address>
-</body>
-</html>
+++ /dev/null
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.9.1"/>
-<title>libsigc++: Member List</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-<link href="doxygen-extra.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.9.1 -->
- <div id="navrow1" class="tabs">
- <ul class="tablist">
- <li><a href="index.html"><span>Main Page</span></a></li>
- <li><a href="pages.html"><span>Related Pages</span></a></li>
- <li><a href="modules.html"><span>Modules</span></a></li>
- <li><a href="namespaces.html"><span>Namespaces</span></a></li>
- <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
- </ul>
- </div>
- <div id="navrow2" class="tabs2">
- <ul class="tablist">
- <li><a href="annotated.html"><span>Class List</span></a></li>
- <li><a href="classes.html"><span>Class Index</span></a></li>
- <li><a href="inherits.html"><span>Class Hierarchy</span></a></li>
- <li><a href="functions.html"><span>Class Members</span></a></li>
- </ul>
- </div>
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="namespacesigc.html">sigc</a></li><li class="navelem"><a class="el" href="structsigc_1_1lambda__group1.html">lambda_group1</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sigc::lambda_group1< T_functor, T_type1 > Member List</div> </div>
-</div><!--header-->
-<div class="contents">
-
-<p>This is the complete list of members for <a class="el" href="structsigc_1_1lambda__group1.html">sigc::lambda_group1< T_functor, T_type1 ></a>, including all inherited members.</p>
-<table class="directory">
- <tr class="even"><td class="entry"><a class="el" href="structsigc_1_1lambda__group1.html#ac11cb4cd0685ce3745bf438bb59006e4">func_</a></td><td class="entry"><a class="el" href="structsigc_1_1lambda__group1.html">sigc::lambda_group1< T_functor, T_type1 ></a></td><td class="entry"><span class="mlabel">mutable</span></td></tr>
- <tr><td class="entry"><a class="el" href="structsigc_1_1lambda__group1.html#a33608fda37bc84ec8a336f9d52d4924e">functor_type</a> typedef</td><td class="entry"><a class="el" href="structsigc_1_1lambda__group1.html">sigc::lambda_group1< T_functor, T_type1 ></a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="structsigc_1_1lambda__group1.html#a306d752cc63d4ad177b30da0072b1ff6">lambda_group1</a>(typename type_trait< T_functor >::take _A_func, typename type_trait< T_type1 >::take _A_1)</td><td class="entry"><a class="el" href="structsigc_1_1lambda__group1.html">sigc::lambda_group1< T_functor, T_type1 ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="structsigc_1_1lambda__group1.html#adba4263bed98048c83b986959155c78e">operator()</a>() const </td><td class="entry"><a class="el" href="structsigc_1_1lambda__group1.html">sigc::lambda_group1< T_functor, T_type1 ></a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="structsigc_1_1lambda__group1.html#a1eb3b797403d8164c4bfb55107f4d60f">operator()</a>(T_arg1 _A_1) const </td><td class="entry"><a class="el" href="structsigc_1_1lambda__group1.html">sigc::lambda_group1< T_functor, T_type1 ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="structsigc_1_1lambda__group1.html#a90a15e28628a4f0cbd2d3c59844ec7e8">operator()</a>(T_arg1 _A_1, T_arg2 _A_2) const </td><td class="entry"><a class="el" href="structsigc_1_1lambda__group1.html">sigc::lambda_group1< T_functor, T_type1 ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="structsigc_1_1lambda__group1.html#a3ddcff46a3cbcbdcfa4573e68b12c48c">operator()</a>(T_arg1 _A_1, T_arg2 _A_2, T_arg3 _A_3) const </td><td class="entry"><a class="el" href="structsigc_1_1lambda__group1.html">sigc::lambda_group1< T_functor, T_type1 ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="structsigc_1_1lambda__group1.html#af8414fd8e83ffad14d46c7a563686b3f">operator()</a>(T_arg1 _A_1, T_arg2 _A_2, T_arg3 _A_3, T_arg4 _A_4) const </td><td class="entry"><a class="el" href="structsigc_1_1lambda__group1.html">sigc::lambda_group1< T_functor, T_type1 ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="structsigc_1_1lambda__group1.html#a8bc6a42b4fae024267b1315553ac9472">operator()</a>(T_arg1 _A_1, T_arg2 _A_2, T_arg3 _A_3, T_arg4 _A_4, T_arg5 _A_5) const </td><td class="entry"><a class="el" href="structsigc_1_1lambda__group1.html">sigc::lambda_group1< T_functor, T_type1 ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="structsigc_1_1lambda__group1.html#a3c451b5f8f1a527682cd886747c444de">operator()</a>(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 </td><td class="entry"><a class="el" href="structsigc_1_1lambda__group1.html">sigc::lambda_group1< T_functor, T_type1 ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="structsigc_1_1lambda__group1.html#a8e78e9169e8c1150ad3e6489b9719e83">operator()</a>(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 </td><td class="entry"><a class="el" href="structsigc_1_1lambda__group1.html">sigc::lambda_group1< T_functor, T_type1 ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="structsigc_1_1lambda__group1.html#ac602edad96df05d967b6a5c4936f0ac8">result_type</a> typedef</td><td class="entry"><a class="el" href="structsigc_1_1lambda__group1.html">sigc::lambda_group1< T_functor, T_type1 ></a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="structsigc_1_1lambda__group1.html#a0243095285dd004dbfa78e4148b75b87">value1_</a></td><td class="entry"><a class="el" href="structsigc_1_1lambda__group1.html">sigc::lambda_group1< T_functor, T_type1 ></a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="structsigc_1_1lambda__group1.html#a4ba1e4dee915b4bd089d34337b25583b">value1_type</a> typedef</td><td class="entry"><a class="el" href="structsigc_1_1lambda__group1.html">sigc::lambda_group1< T_functor, T_type1 ></a></td><td class="entry"></td></tr>
-</table></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.9.1
-</small></address>
-</body>
-</html>
+++ /dev/null
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.9.1"/>
-<title>libsigc++: sigc::lambda_group1< T_functor, T_type1 > Struct Template Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-<link href="doxygen-extra.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.9.1 -->
- <div id="navrow1" class="tabs">
- <ul class="tablist">
- <li><a href="index.html"><span>Main Page</span></a></li>
- <li><a href="pages.html"><span>Related Pages</span></a></li>
- <li><a href="modules.html"><span>Modules</span></a></li>
- <li><a href="namespaces.html"><span>Namespaces</span></a></li>
- <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
- </ul>
- </div>
- <div id="navrow2" class="tabs2">
- <ul class="tablist">
- <li><a href="annotated.html"><span>Class List</span></a></li>
- <li><a href="classes.html"><span>Class Index</span></a></li>
- <li><a href="inherits.html"><span>Class Hierarchy</span></a></li>
- <li><a href="functions.html"><span>Class Members</span></a></li>
- </ul>
- </div>
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="namespacesigc.html">sigc</a></li><li class="navelem"><a class="el" href="structsigc_1_1lambda__group1.html">lambda_group1</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="summary">
-<a href="#pub-types">Public Types</a> |
-<a href="#pub-methods">Public Member Functions</a> |
-<a href="#pub-attribs">Public Attributes</a> |
-<a href="structsigc_1_1lambda__group1-members.html">List of all members</a> </div>
- <div class="headertitle">
-<div class="title">sigc::lambda_group1< T_functor, T_type1 > Struct Template Reference<div class="ingroups"><a class="el" href="group__lambdas.html">Lambdas</a></div></div> </div>
-</div><!--header-->
-<div class="contents">
-
-<p><a class="el" href="structsigc_1_1lambda__group1.html" title="lambda_group1 wraps a functor and rebuilds its arguments from 1 lambda expressions. ">lambda_group1</a> wraps a functor and rebuilds its arguments from 1 lambda expressions.
- <a href="structsigc_1_1lambda__group1.html#details">More...</a></p>
-
-<p><code>#include <sigc++/adaptors/lambda/group.h></code></p>
-<div class="dynheader">
-Inheritance diagram for sigc::lambda_group1< T_functor, T_type1 >:</div>
-<div class="dyncontent">
-<div class="center"><img src="structsigc_1_1lambda__group1__inherit__graph.png" border="0" usemap="#sigc_1_1lambda__group1_3_01T__functor_00_01T__type1_01_4_inherit__map" alt="Inheritance graph"/></div>
-<map name="sigc_1_1lambda__group1_3_01T__functor_00_01T__type1_01_4_inherit__map" id="sigc_1_1lambda__group1_3_01T__functor_00_01T__type1_01_4_inherit__map">
-<area shape="rect" id="node2" href="structsigc_1_1lambda__base.html" title="A hint to the compiler. " alt="" coords="19,155,161,181"/><area shape="rect" id="node3" href="structsigc_1_1adaptor__base.html" title="A hint to the compiler. " alt="" coords="19,80,161,107"/><area shape="rect" id="node4" href="structsigc_1_1functor__base.html" title="A hint to the compiler. " alt="" coords="21,5,159,32"/></map>
-<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
-Public Types</h2></td></tr>
-<tr class="memitem:a33608fda37bc84ec8a336f9d52d4924e"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="structsigc_1_1adaptor__trait.html">adaptor_trait</a>< T_functor >::adaptor_type </td><td class="memItemRight" valign="bottom"><a class="el" href="structsigc_1_1lambda__group1.html#a33608fda37bc84ec8a336f9d52d4924e">functor_type</a></td></tr>
-<tr class="separator:a33608fda37bc84ec8a336f9d52d4924e"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ac602edad96df05d967b6a5c4936f0ac8"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="structsigc_1_1functor__trait.html">functor_trait</a>< T_functor >::<a class="el" href="structsigc_1_1lambda__group1.html#ac602edad96df05d967b6a5c4936f0ac8">result_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structsigc_1_1lambda__group1.html#ac602edad96df05d967b6a5c4936f0ac8">result_type</a></td></tr>
-<tr class="separator:ac602edad96df05d967b6a5c4936f0ac8"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a4ba1e4dee915b4bd089d34337b25583b"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="structsigc_1_1lambda.html">lambda</a>< T_type1 >::lambda_type </td><td class="memItemRight" valign="bottom"><a class="el" href="structsigc_1_1lambda__group1.html#a4ba1e4dee915b4bd089d34337b25583b">value1_type</a></td></tr>
-<tr class="separator:a4ba1e4dee915b4bd089d34337b25583b"><td class="memSeparator" colspan="2"> </td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
-Public Member Functions</h2></td></tr>
-<tr class="memitem:a306d752cc63d4ad177b30da0072b1ff6"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="structsigc_1_1lambda__group1.html#a306d752cc63d4ad177b30da0072b1ff6">lambda_group1</a> (typename <a class="el" href="structsigc_1_1type__trait.html">type_trait</a>< T_functor >::take _A_func, typename <a class="el" href="structsigc_1_1type__trait.html">type_trait</a>< T_type1 >::take _A_1)</td></tr>
-<tr class="separator:a306d752cc63d4ad177b30da0072b1ff6"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:adba4263bed98048c83b986959155c78e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structsigc_1_1lambda__group1.html#ac602edad96df05d967b6a5c4936f0ac8">result_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structsigc_1_1lambda__group1.html#adba4263bed98048c83b986959155c78e">operator()</a> () const </td></tr>
-<tr class="separator:adba4263bed98048c83b986959155c78e"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a1eb3b797403d8164c4bfb55107f4d60f"><td class="memTemplParams" colspan="2">template<class T_arg1 > </td></tr>
-<tr class="memitem:a1eb3b797403d8164c4bfb55107f4d60f"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="structsigc_1_1deduce__result__type.html">deduce_result_type</a>< T_arg1 >::type </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="structsigc_1_1lambda__group1.html#a1eb3b797403d8164c4bfb55107f4d60f">operator()</a> (T_arg1 _A_1) const </td></tr>
-<tr class="separator:a1eb3b797403d8164c4bfb55107f4d60f"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a90a15e28628a4f0cbd2d3c59844ec7e8"><td class="memTemplParams" colspan="2">template<class T_arg1 , class T_arg2 > </td></tr>
-<tr class="memitem:a90a15e28628a4f0cbd2d3c59844ec7e8"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="structsigc_1_1deduce__result__type.html">deduce_result_type</a>< T_arg1, T_arg2 >::type </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="structsigc_1_1lambda__group1.html#a90a15e28628a4f0cbd2d3c59844ec7e8">operator()</a> (T_arg1 _A_1, T_arg2 _A_2) const </td></tr>
-<tr class="separator:a90a15e28628a4f0cbd2d3c59844ec7e8"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a3ddcff46a3cbcbdcfa4573e68b12c48c"><td class="memTemplParams" colspan="2">template<class T_arg1 , class T_arg2 , class T_arg3 > </td></tr>
-<tr class="memitem:a3ddcff46a3cbcbdcfa4573e68b12c48c"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="structsigc_1_1deduce__result__type.html">deduce_result_type</a>< T_arg1, T_arg2, T_arg3 >::type </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="structsigc_1_1lambda__group1.html#a3ddcff46a3cbcbdcfa4573e68b12c48c">operator()</a> (T_arg1 _A_1, T_arg2 _A_2, T_arg3 _A_3) const </td></tr>
-<tr class="separator:a3ddcff46a3cbcbdcfa4573e68b12c48c"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:af8414fd8e83ffad14d46c7a563686b3f"><td class="memTemplParams" colspan="2">template<class T_arg1 , class T_arg2 , class T_arg3 , class T_arg4 > </td></tr>
-<tr class="memitem:af8414fd8e83ffad14d46c7a563686b3f"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="structsigc_1_1deduce__result__type.html">deduce_result_type</a>< T_arg1, T_arg2, T_arg3, T_arg4 >::type </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="structsigc_1_1lambda__group1.html#af8414fd8e83ffad14d46c7a563686b3f">operator()</a> (T_arg1 _A_1, T_arg2 _A_2, T_arg3 _A_3, T_arg4 _A_4) const </td></tr>
-<tr class="separator:af8414fd8e83ffad14d46c7a563686b3f"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a8bc6a42b4fae024267b1315553ac9472"><td class="memTemplParams" colspan="2">template<class T_arg1 , class T_arg2 , class T_arg3 , class T_arg4 , class T_arg5 > </td></tr>
-<tr class="memitem:a8bc6a42b4fae024267b1315553ac9472"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="structsigc_1_1deduce__result__type.html">deduce_result_type</a>< T_arg1, T_arg2, T_arg3, T_arg4, T_arg5 >::type </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="structsigc_1_1lambda__group1.html#a8bc6a42b4fae024267b1315553ac9472">operator()</a> (T_arg1 _A_1, T_arg2 _A_2, T_arg3 _A_3, T_arg4 _A_4, T_arg5 _A_5) const </td></tr>
-<tr class="separator:a8bc6a42b4fae024267b1315553ac9472"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a3c451b5f8f1a527682cd886747c444de"><td class="memTemplParams" colspan="2">template<class T_arg1 , class T_arg2 , class T_arg3 , class T_arg4 , class T_arg5 , class T_arg6 > </td></tr>
-<tr class="memitem:a3c451b5f8f1a527682cd886747c444de"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="structsigc_1_1deduce__result__type.html">deduce_result_type</a>< T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6 >::type </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="structsigc_1_1lambda__group1.html#a3c451b5f8f1a527682cd886747c444de">operator()</a> (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 </td></tr>
-<tr class="separator:a3c451b5f8f1a527682cd886747c444de"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a8e78e9169e8c1150ad3e6489b9719e83"><td class="memTemplParams" colspan="2">template<class T_arg1 , class T_arg2 , class T_arg3 , class T_arg4 , class T_arg5 , class T_arg6 , class T_arg7 > </td></tr>
-<tr class="memitem:a8e78e9169e8c1150ad3e6489b9719e83"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="structsigc_1_1deduce__result__type.html">deduce_result_type</a>< T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7 >::type </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="structsigc_1_1lambda__group1.html#a8e78e9169e8c1150ad3e6489b9719e83">operator()</a> (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 </td></tr>
-<tr class="separator:a8e78e9169e8c1150ad3e6489b9719e83"><td class="memSeparator" colspan="2"> </td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
-Public Attributes</h2></td></tr>
-<tr class="memitem:ac11cb4cd0685ce3745bf438bb59006e4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structsigc_1_1lambda__group1.html#a33608fda37bc84ec8a336f9d52d4924e">functor_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structsigc_1_1lambda__group1.html#ac11cb4cd0685ce3745bf438bb59006e4">func_</a></td></tr>
-<tr class="separator:ac11cb4cd0685ce3745bf438bb59006e4"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a0243095285dd004dbfa78e4148b75b87"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structsigc_1_1lambda__group1.html#a4ba1e4dee915b4bd089d34337b25583b">value1_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structsigc_1_1lambda__group1.html#a0243095285dd004dbfa78e4148b75b87">value1_</a></td></tr>
-<tr class="separator:a0243095285dd004dbfa78e4148b75b87"><td class="memSeparator" colspan="2"> </td></tr>
-</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<div class="textblock"><h3>template<class T_functor, class T_type1><br />
-struct sigc::lambda_group1< T_functor, T_type1 ></h3>
-
-<p><a class="el" href="structsigc_1_1lambda__group1.html" title="lambda_group1 wraps a functor and rebuilds its arguments from 1 lambda expressions. ">lambda_group1</a> wraps a functor and rebuilds its arguments from 1 lambda expressions. </p>
-<p>Use the convenience function <a class="el" href="group__lambdas.html#ga56a5905d189af5fab33d8c456f097a29" title="Alters an arbitrary functor by rebuilding its arguments from 1 lambda expressions. ">group()</a> to create an instance of <a class="el" href="structsigc_1_1lambda__group1.html" title="lambda_group1 wraps a functor and rebuilds its arguments from 1 lambda expressions. ">lambda_group1</a>.</p>
-<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000019">Deprecated:</a></b></dt><dd>Use C++11 lambda expressions or std::bind() instead.</dd></dl>
-</div><h2 class="groupheader">Member Typedef Documentation</h2>
-<a class="anchor" id="a33608fda37bc84ec8a336f9d52d4924e"></a>
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template <class T_functor , class T_type1 > </div>
- <table class="memname">
- <tr>
- <td class="memname">typedef <a class="el" href="structsigc_1_1adaptor__trait.html">adaptor_trait</a><T_functor>::adaptor_type <a class="el" href="structsigc_1_1lambda__group1.html">sigc::lambda_group1</a>< T_functor, T_type1 >::<a class="el" href="structsigc_1_1lambda__group1.html#a33608fda37bc84ec8a336f9d52d4924e">functor_type</a></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="ac602edad96df05d967b6a5c4936f0ac8"></a>
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template <class T_functor , class T_type1 > </div>
- <table class="memname">
- <tr>
- <td class="memname">typedef <a class="el" href="structsigc_1_1functor__trait.html">functor_trait</a><T_functor>::<a class="el" href="structsigc_1_1lambda__group1.html#ac602edad96df05d967b6a5c4936f0ac8">result_type</a> <a class="el" href="structsigc_1_1lambda__group1.html">sigc::lambda_group1</a>< T_functor, T_type1 >::<a class="el" href="structsigc_1_1lambda__group1.html#ac602edad96df05d967b6a5c4936f0ac8">result_type</a></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a4ba1e4dee915b4bd089d34337b25583b"></a>
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template <class T_functor , class T_type1 > </div>
- <table class="memname">
- <tr>
- <td class="memname">typedef <a class="el" href="structsigc_1_1lambda.html">lambda</a><T_type1>::lambda_type <a class="el" href="structsigc_1_1lambda__group1.html">sigc::lambda_group1</a>< T_functor, T_type1 >::<a class="el" href="structsigc_1_1lambda__group1.html#a4ba1e4dee915b4bd089d34337b25583b">value1_type</a></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<h2 class="groupheader">Constructor & Destructor Documentation</h2>
-<a class="anchor" id="a306d752cc63d4ad177b30da0072b1ff6"></a>
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template <class T_functor , class T_type1 > </div>
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="structsigc_1_1lambda__group1.html">sigc::lambda_group1</a>< T_functor, T_type1 >::<a class="el" href="structsigc_1_1lambda__group1.html">lambda_group1</a> </td>
- <td>(</td>
- <td class="paramtype">typename <a class="el" href="structsigc_1_1type__trait.html">type_trait</a>< T_functor >::take </td>
- <td class="paramname"><em>_A_func</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">typename <a class="el" href="structsigc_1_1type__trait.html">type_trait</a>< T_type1 >::take </td>
- <td class="paramname"><em>_A_1</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span></span> </td>
- </tr>
-</table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<h2 class="groupheader">Member Function Documentation</h2>
-<a class="anchor" id="adba4263bed98048c83b986959155c78e"></a>
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template <class T_functor , class T_type1 > </div>
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="structsigc_1_1lambda__group1.html#ac602edad96df05d967b6a5c4936f0ac8">result_type</a> <a class="el" href="structsigc_1_1lambda__group1.html">sigc::lambda_group1</a>< T_functor, T_type1 >::operator() </td>
- <td>(</td>
- <td class="paramname"></td><td>)</td>
- <td> const</td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a1eb3b797403d8164c4bfb55107f4d60f"></a>
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template <class T_functor , class T_type1 > </div>
-<div class="memtemplate">
-template <class T_arg1 > </div>
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="structsigc_1_1deduce__result__type.html">deduce_result_type</a><T_arg1>::type <a class="el" href="structsigc_1_1lambda__group1.html">sigc::lambda_group1</a>< T_functor, T_type1 >::operator() </td>
- <td>(</td>
- <td class="paramtype">T_arg1 </td>
- <td class="paramname"><em>_A_1</em></td><td>)</td>
- <td> const</td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span></span> </td>
- </tr>
-</table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a90a15e28628a4f0cbd2d3c59844ec7e8"></a>
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template <class T_functor , class T_type1 > </div>
-<div class="memtemplate">
-template <class T_arg1 , class T_arg2 > </div>
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="structsigc_1_1deduce__result__type.html">deduce_result_type</a><T_arg1, T_arg2>::type <a class="el" href="structsigc_1_1lambda__group1.html">sigc::lambda_group1</a>< T_functor, T_type1 >::operator() </td>
- <td>(</td>
- <td class="paramtype">T_arg1 </td>
- <td class="paramname"><em>_A_1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">T_arg2 </td>
- <td class="paramname"><em>_A_2</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td> const</td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span></span> </td>
- </tr>
-</table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a3ddcff46a3cbcbdcfa4573e68b12c48c"></a>
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template <class T_functor , class T_type1 > </div>
-<div class="memtemplate">
-template <class T_arg1 , class T_arg2 , class T_arg3 > </div>
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="structsigc_1_1deduce__result__type.html">deduce_result_type</a><T_arg1, T_arg2, T_arg3>::type <a class="el" href="structsigc_1_1lambda__group1.html">sigc::lambda_group1</a>< T_functor, T_type1 >::operator() </td>
- <td>(</td>
- <td class="paramtype">T_arg1 </td>
- <td class="paramname"><em>_A_1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">T_arg2 </td>
- <td class="paramname"><em>_A_2</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">T_arg3 </td>
- <td class="paramname"><em>_A_3</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td> const</td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span></span> </td>
- </tr>
-</table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="af8414fd8e83ffad14d46c7a563686b3f"></a>
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template <class T_functor , class T_type1 > </div>
-<div class="memtemplate">
-template <class T_arg1 , class T_arg2 , class T_arg3 , class T_arg4 > </div>
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="structsigc_1_1deduce__result__type.html">deduce_result_type</a><T_arg1, T_arg2, T_arg3, T_arg4>::type <a class="el" href="structsigc_1_1lambda__group1.html">sigc::lambda_group1</a>< T_functor, T_type1 >::operator() </td>
- <td>(</td>
- <td class="paramtype">T_arg1 </td>
- <td class="paramname"><em>_A_1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">T_arg2 </td>
- <td class="paramname"><em>_A_2</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">T_arg3 </td>
- <td class="paramname"><em>_A_3</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">T_arg4 </td>
- <td class="paramname"><em>_A_4</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td> const</td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span></span> </td>
- </tr>
-</table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a8bc6a42b4fae024267b1315553ac9472"></a>
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template <class T_functor , class T_type1 > </div>
-<div class="memtemplate">
-template <class T_arg1 , class T_arg2 , class T_arg3 , class T_arg4 , class T_arg5 > </div>
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="structsigc_1_1deduce__result__type.html">deduce_result_type</a><T_arg1, T_arg2, T_arg3, T_arg4, T_arg5>::type <a class="el" href="structsigc_1_1lambda__group1.html">sigc::lambda_group1</a>< T_functor, T_type1 >::operator() </td>
- <td>(</td>
- <td class="paramtype">T_arg1 </td>
- <td class="paramname"><em>_A_1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">T_arg2 </td>
- <td class="paramname"><em>_A_2</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">T_arg3 </td>
- <td class="paramname"><em>_A_3</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">T_arg4 </td>
- <td class="paramname"><em>_A_4</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">T_arg5 </td>
- <td class="paramname"><em>_A_5</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td> const</td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span></span> </td>
- </tr>
-</table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a3c451b5f8f1a527682cd886747c444de"></a>
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template <class T_functor , class T_type1 > </div>
-<div class="memtemplate">
-template <class T_arg1 , class T_arg2 , class T_arg3 , class T_arg4 , class T_arg5 , class T_arg6 > </div>
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="structsigc_1_1deduce__result__type.html">deduce_result_type</a><T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6>::type <a class="el" href="structsigc_1_1lambda__group1.html">sigc::lambda_group1</a>< T_functor, T_type1 >::operator() </td>
- <td>(</td>
- <td class="paramtype">T_arg1 </td>
- <td class="paramname"><em>_A_1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">T_arg2 </td>
- <td class="paramname"><em>_A_2</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">T_arg3 </td>
- <td class="paramname"><em>_A_3</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">T_arg4 </td>
- <td class="paramname"><em>_A_4</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">T_arg5 </td>
- <td class="paramname"><em>_A_5</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">T_arg6 </td>
- <td class="paramname"><em>_A_6</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td> const</td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span></span> </td>
- </tr>
-</table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a8e78e9169e8c1150ad3e6489b9719e83"></a>
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template <class T_functor , class T_type1 > </div>
-<div class="memtemplate">
-template <class T_arg1 , class T_arg2 , class T_arg3 , class T_arg4 , class T_arg5 , class T_arg6 , class T_arg7 > </div>
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="structsigc_1_1deduce__result__type.html">deduce_result_type</a><T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7>::type <a class="el" href="structsigc_1_1lambda__group1.html">sigc::lambda_group1</a>< T_functor, T_type1 >::operator() </td>
- <td>(</td>
- <td class="paramtype">T_arg1 </td>
- <td class="paramname"><em>_A_1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">T_arg2 </td>
- <td class="paramname"><em>_A_2</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">T_arg3 </td>
- <td class="paramname"><em>_A_3</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">T_arg4 </td>
- <td class="paramname"><em>_A_4</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">T_arg5 </td>
- <td class="paramname"><em>_A_5</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">T_arg6 </td>
- <td class="paramname"><em>_A_6</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">T_arg7 </td>
- <td class="paramname"><em>_A_7</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td> const</td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span></span> </td>
- </tr>
-</table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<h2 class="groupheader">Member Data Documentation</h2>
-<a class="anchor" id="ac11cb4cd0685ce3745bf438bb59006e4"></a>
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template <class T_functor , class T_type1 > </div>
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="structsigc_1_1lambda__group1.html#a33608fda37bc84ec8a336f9d52d4924e">functor_type</a> <a class="el" href="structsigc_1_1lambda__group1.html">sigc::lambda_group1</a>< T_functor, T_type1 >::func_</td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">mutable</span></span> </td>
- </tr>
-</table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a0243095285dd004dbfa78e4148b75b87"></a>
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template <class T_functor , class T_type1 > </div>
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="structsigc_1_1lambda__group1.html#a4ba1e4dee915b4bd089d34337b25583b">value1_type</a> <a class="el" href="structsigc_1_1lambda__group1.html">sigc::lambda_group1</a>< T_functor, T_type1 >::value1_</td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.9.1
-</small></address>
-</body>
-</html>
+++ /dev/null
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.9.1"/>
-<title>libsigc++: Member List</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-<link href="doxygen-extra.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.9.1 -->
- <div id="navrow1" class="tabs">
- <ul class="tablist">
- <li><a href="index.html"><span>Main Page</span></a></li>
- <li><a href="pages.html"><span>Related Pages</span></a></li>
- <li><a href="modules.html"><span>Modules</span></a></li>
- <li><a href="namespaces.html"><span>Namespaces</span></a></li>
- <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
- </ul>
- </div>
- <div id="navrow2" class="tabs2">
- <ul class="tablist">
- <li><a href="annotated.html"><span>Class List</span></a></li>
- <li><a href="classes.html"><span>Class Index</span></a></li>
- <li><a href="inherits.html"><span>Class Hierarchy</span></a></li>
- <li><a href="functions.html"><span>Class Members</span></a></li>
- </ul>
- </div>
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="namespacesigc.html">sigc</a></li><li class="navelem"><a class="el" href="structsigc_1_1lambda__group2.html">lambda_group2</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sigc::lambda_group2< T_functor, T_type1, T_type2 > Member List</div> </div>
-</div><!--header-->
-<div class="contents">
-
-<p>This is the complete list of members for <a class="el" href="structsigc_1_1lambda__group2.html">sigc::lambda_group2< T_functor, T_type1, T_type2 ></a>, including all inherited members.</p>
-<table class="directory">
- <tr class="even"><td class="entry"><a class="el" href="structsigc_1_1lambda__group2.html#a81d504b21b2eb7821975e34e91bf702d">func_</a></td><td class="entry"><a class="el" href="structsigc_1_1lambda__group2.html">sigc::lambda_group2< T_functor, T_type1, T_type2 ></a></td><td class="entry"><span class="mlabel">mutable</span></td></tr>
- <tr><td class="entry"><a class="el" href="structsigc_1_1lambda__group2.html#a97ac691a597ef2063a4d0c53b99c28c5">functor_type</a> typedef</td><td class="entry"><a class="el" href="structsigc_1_1lambda__group2.html">sigc::lambda_group2< T_functor, T_type1, T_type2 ></a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="structsigc_1_1lambda__group2.html#a2d29af15fc0cbad49c426753e9d218e4">lambda_group2</a>(typename type_trait< T_functor >::take _A_func, typename type_trait< T_type1 >::take _A_1, typename type_trait< T_type2 >::take _A_2)</td><td class="entry"><a class="el" href="structsigc_1_1lambda__group2.html">sigc::lambda_group2< T_functor, T_type1, T_type2 ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="structsigc_1_1lambda__group2.html#a84d9692718e446306a763355303c6e52">operator()</a>() const </td><td class="entry"><a class="el" href="structsigc_1_1lambda__group2.html">sigc::lambda_group2< T_functor, T_type1, T_type2 ></a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="structsigc_1_1lambda__group2.html#aaba8dea339e534f2383cf83f7877a3d0">operator()</a>(T_arg1 _A_1) const </td><td class="entry"><a class="el" href="structsigc_1_1lambda__group2.html">sigc::lambda_group2< T_functor, T_type1, T_type2 ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="structsigc_1_1lambda__group2.html#ad98d956665fb748da9b48d1685421907">operator()</a>(T_arg1 _A_1, T_arg2 _A_2) const </td><td class="entry"><a class="el" href="structsigc_1_1lambda__group2.html">sigc::lambda_group2< T_functor, T_type1, T_type2 ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="structsigc_1_1lambda__group2.html#a2ff6da0bfb93be36b2b5c4d1e6b1529e">operator()</a>(T_arg1 _A_1, T_arg2 _A_2, T_arg3 _A_3) const </td><td class="entry"><a class="el" href="structsigc_1_1lambda__group2.html">sigc::lambda_group2< T_functor, T_type1, T_type2 ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="structsigc_1_1lambda__group2.html#a9c9b6b7a1a2b15d888044f9577b4b5da">operator()</a>(T_arg1 _A_1, T_arg2 _A_2, T_arg3 _A_3, T_arg4 _A_4) const </td><td class="entry"><a class="el" href="structsigc_1_1lambda__group2.html">sigc::lambda_group2< T_functor, T_type1, T_type2 ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="structsigc_1_1lambda__group2.html#a1bd07e1cc8400c3ee2dd5a9ef45129ec">operator()</a>(T_arg1 _A_1, T_arg2 _A_2, T_arg3 _A_3, T_arg4 _A_4, T_arg5 _A_5) const </td><td class="entry"><a class="el" href="structsigc_1_1lambda__group2.html">sigc::lambda_group2< T_functor, T_type1, T_type2 ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="structsigc_1_1lambda__group2.html#a7d35c350f6255628bda5a4730169eed8">operator()</a>(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 </td><td class="entry"><a class="el" href="structsigc_1_1lambda__group2.html">sigc::lambda_group2< T_functor, T_type1, T_type2 ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="structsigc_1_1lambda__group2.html#afaf7c41dd05dbc517170c43deafd0473">operator()</a>(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 </td><td class="entry"><a class="el" href="structsigc_1_1lambda__group2.html">sigc::lambda_group2< T_functor, T_type1, T_type2 ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="structsigc_1_1lambda__group2.html#acedf5bd987b41b0a975aece3f91562c6">result_type</a> typedef</td><td class="entry"><a class="el" href="structsigc_1_1lambda__group2.html">sigc::lambda_group2< T_functor, T_type1, T_type2 ></a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="structsigc_1_1lambda__group2.html#a4bd04d092cfb0c677653dd6e2a329c7a">value1_</a></td><td class="entry"><a class="el" href="structsigc_1_1lambda__group2.html">sigc::lambda_group2< T_functor, T_type1, T_type2 ></a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="structsigc_1_1lambda__group2.html#aba1e85dabda9b2c0fffbf41d2cc83064">value1_type</a> typedef</td><td class="entry"><a class="el" href="structsigc_1_1lambda__group2.html">sigc::lambda_group2< T_functor, T_type1, T_type2 ></a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="structsigc_1_1lambda__group2.html#a23175ece70377eaa63bb1ec8f9f0b404">value2_</a></td><td class="entry"><a class="el" href="structsigc_1_1lambda__group2.html">sigc::lambda_group2< T_functor, T_type1, T_type2 ></a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="structsigc_1_1lambda__group2.html#a48051f2cfec13546be194319afc6678f">value2_type</a> typedef</td><td class="entry"><a class="el" href="structsigc_1_1lambda__group2.html">sigc::lambda_group2< T_functor, T_type1, T_type2 ></a></td><td class="entry"></td></tr>
-</table></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.9.1
-</small></address>
-</body>
-</html>
+++ /dev/null
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.9.1"/>
-<title>libsigc++: sigc::lambda_group2< T_functor, T_type1, T_type2 > Struct Template Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-<link href="doxygen-extra.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.9.1 -->
- <div id="navrow1" class="tabs">
- <ul class="tablist">
- <li><a href="index.html"><span>Main Page</span></a></li>
- <li><a href="pages.html"><span>Related Pages</span></a></li>
- <li><a href="modules.html"><span>Modules</span></a></li>
- <li><a href="namespaces.html"><span>Namespaces</span></a></li>
- <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
- </ul>
- </div>
- <div id="navrow2" class="tabs2">
- <ul class="tablist">
- <li><a href="annotated.html"><span>Class List</span></a></li>
- <li><a href="classes.html"><span>Class Index</span></a></li>
- <li><a href="inherits.html"><span>Class Hierarchy</span></a></li>
- <li><a href="functions.html"><span>Class Members</span></a></li>
- </ul>
- </div>
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="namespacesigc.html">sigc</a></li><li class="navelem"><a class="el" href="structsigc_1_1lambda__group2.html">lambda_group2</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="summary">
-<a href="#pub-types">Public Types</a> |
-<a href="#pub-methods">Public Member Functions</a> |
-<a href="#pub-attribs">Public Attributes</a> |
-<a href="structsigc_1_1lambda__group2-members.html">List of all members</a> </div>
- <div class="headertitle">
-<div class="title">sigc::lambda_group2< T_functor, T_type1, T_type2 > Struct Template Reference<div class="ingroups"><a class="el" href="group__lambdas.html">Lambdas</a></div></div> </div>
-</div><!--header-->
-<div class="contents">
-
-<p><a class="el" href="structsigc_1_1lambda__group2.html" title="lambda_group2 wraps a functor and rebuilds its arguments from 2 lambda expressions. ">lambda_group2</a> wraps a functor and rebuilds its arguments from 2 lambda expressions.
- <a href="structsigc_1_1lambda__group2.html#details">More...</a></p>
-
-<p><code>#include <sigc++/adaptors/lambda/group.h></code></p>
-<div class="dynheader">
-Inheritance diagram for sigc::lambda_group2< T_functor, T_type1, T_type2 >:</div>
-<div class="dyncontent">
-<div class="center"><img src="structsigc_1_1lambda__group2__inherit__graph.png" border="0" usemap="#sigc_1_1lambda__group2_3_01T__functor_00_01T__type1_00_01T__type2_01_4_inherit__map" alt="Inheritance graph"/></div>
-<map name="sigc_1_1lambda__group2_3_01T__functor_00_01T__type1_00_01T__type2_01_4_inherit__map" id="sigc_1_1lambda__group2_3_01T__functor_00_01T__type1_00_01T__type2_01_4_inherit__map">
-<area shape="rect" id="node2" href="structsigc_1_1lambda__base.html" title="A hint to the compiler. " alt="" coords="14,155,155,181"/><area shape="rect" id="node3" href="structsigc_1_1adaptor__base.html" title="A hint to the compiler. " alt="" coords="13,80,156,107"/><area shape="rect" id="node4" href="structsigc_1_1functor__base.html" title="A hint to the compiler. " alt="" coords="15,5,154,32"/></map>
-<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
-Public Types</h2></td></tr>
-<tr class="memitem:a97ac691a597ef2063a4d0c53b99c28c5"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="structsigc_1_1adaptor__trait.html">adaptor_trait</a>< T_functor >::adaptor_type </td><td class="memItemRight" valign="bottom"><a class="el" href="structsigc_1_1lambda__group2.html#a97ac691a597ef2063a4d0c53b99c28c5">functor_type</a></td></tr>
-<tr class="separator:a97ac691a597ef2063a4d0c53b99c28c5"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:acedf5bd987b41b0a975aece3f91562c6"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="structsigc_1_1functor__trait.html">functor_trait</a>< T_functor >::<a class="el" href="structsigc_1_1lambda__group2.html#acedf5bd987b41b0a975aece3f91562c6">result_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structsigc_1_1lambda__group2.html#acedf5bd987b41b0a975aece3f91562c6">result_type</a></td></tr>
-<tr class="separator:acedf5bd987b41b0a975aece3f91562c6"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:aba1e85dabda9b2c0fffbf41d2cc83064"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="structsigc_1_1lambda.html">lambda</a>< T_type1 >::lambda_type </td><td class="memItemRight" valign="bottom"><a class="el" href="structsigc_1_1lambda__group2.html#aba1e85dabda9b2c0fffbf41d2cc83064">value1_type</a></td></tr>
-<tr class="separator:aba1e85dabda9b2c0fffbf41d2cc83064"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a48051f2cfec13546be194319afc6678f"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="structsigc_1_1lambda.html">lambda</a>< T_type2 >::lambda_type </td><td class="memItemRight" valign="bottom"><a class="el" href="structsigc_1_1lambda__group2.html#a48051f2cfec13546be194319afc6678f">value2_type</a></td></tr>
-<tr class="separator:a48051f2cfec13546be194319afc6678f"><td class="memSeparator" colspan="2"> </td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
-Public Member Functions</h2></td></tr>
-<tr class="memitem:a2d29af15fc0cbad49c426753e9d218e4"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="structsigc_1_1lambda__group2.html#a2d29af15fc0cbad49c426753e9d218e4">lambda_group2</a> (typename <a class="el" href="structsigc_1_1type__trait.html">type_trait</a>< T_functor >::take _A_func, typename <a class="el" href="structsigc_1_1type__trait.html">type_trait</a>< T_type1 >::take _A_1, typename <a class="el" href="structsigc_1_1type__trait.html">type_trait</a>< T_type2 >::take _A_2)</td></tr>
-<tr class="separator:a2d29af15fc0cbad49c426753e9d218e4"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a84d9692718e446306a763355303c6e52"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structsigc_1_1lambda__group2.html#acedf5bd987b41b0a975aece3f91562c6">result_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structsigc_1_1lambda__group2.html#a84d9692718e446306a763355303c6e52">operator()</a> () const </td></tr>
-<tr class="separator:a84d9692718e446306a763355303c6e52"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:aaba8dea339e534f2383cf83f7877a3d0"><td class="memTemplParams" colspan="2">template<class T_arg1 > </td></tr>
-<tr class="memitem:aaba8dea339e534f2383cf83f7877a3d0"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="structsigc_1_1deduce__result__type.html">deduce_result_type</a>< T_arg1 >::type </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="structsigc_1_1lambda__group2.html#aaba8dea339e534f2383cf83f7877a3d0">operator()</a> (T_arg1 _A_1) const </td></tr>
-<tr class="separator:aaba8dea339e534f2383cf83f7877a3d0"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ad98d956665fb748da9b48d1685421907"><td class="memTemplParams" colspan="2">template<class T_arg1 , class T_arg2 > </td></tr>
-<tr class="memitem:ad98d956665fb748da9b48d1685421907"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="structsigc_1_1deduce__result__type.html">deduce_result_type</a>< T_arg1, T_arg2 >::type </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="structsigc_1_1lambda__group2.html#ad98d956665fb748da9b48d1685421907">operator()</a> (T_arg1 _A_1, T_arg2 _A_2) const </td></tr>
-<tr class="separator:ad98d956665fb748da9b48d1685421907"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a2ff6da0bfb93be36b2b5c4d1e6b1529e"><td class="memTemplParams" colspan="2">template<class T_arg1 , class T_arg2 , class T_arg3 > </td></tr>
-<tr class="memitem:a2ff6da0bfb93be36b2b5c4d1e6b1529e"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="structsigc_1_1deduce__result__type.html">deduce_result_type</a>< T_arg1, T_arg2, T_arg3 >::type </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="structsigc_1_1lambda__group2.html#a2ff6da0bfb93be36b2b5c4d1e6b1529e">operator()</a> (T_arg1 _A_1, T_arg2 _A_2, T_arg3 _A_3) const </td></tr>
-<tr class="separator:a2ff6da0bfb93be36b2b5c4d1e6b1529e"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a9c9b6b7a1a2b15d888044f9577b4b5da"><td class="memTemplParams" colspan="2">template<class T_arg1 , class T_arg2 , class T_arg3 , class T_arg4 > </td></tr>
-<tr class="memitem:a9c9b6b7a1a2b15d888044f9577b4b5da"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="structsigc_1_1deduce__result__type.html">deduce_result_type</a>< T_arg1, T_arg2, T_arg3, T_arg4 >::type </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="structsigc_1_1lambda__group2.html#a9c9b6b7a1a2b15d888044f9577b4b5da">operator()</a> (T_arg1 _A_1, T_arg2 _A_2, T_arg3 _A_3, T_arg4 _A_4) const </td></tr>
-<tr class="separator:a9c9b6b7a1a2b15d888044f9577b4b5da"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a1bd07e1cc8400c3ee2dd5a9ef45129ec"><td class="memTemplParams" colspan="2">template<class T_arg1 , class T_arg2 , class T_arg3 , class T_arg4 , class T_arg5 > </td></tr>
-<tr class="memitem:a1bd07e1cc8400c3ee2dd5a9ef45129ec"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="structsigc_1_1deduce__result__type.html">deduce_result_type</a>< T_arg1, T_arg2, T_arg3, T_arg4, T_arg5 >::type </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="structsigc_1_1lambda__group2.html#a1bd07e1cc8400c3ee2dd5a9ef45129ec">operator()</a> (T_arg1 _A_1, T_arg2 _A_2, T_arg3 _A_3, T_arg4 _A_4, T_arg5 _A_5) const </td></tr>
-<tr class="separator:a1bd07e1cc8400c3ee2dd5a9ef45129ec"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a7d35c350f6255628bda5a4730169eed8"><td class="memTemplParams" colspan="2">template<class T_arg1 , class T_arg2 , class T_arg3 , class T_arg4 , class T_arg5 , class T_arg6 > </td></tr>
-<tr class="memitem:a7d35c350f6255628bda5a4730169eed8"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="structsigc_1_1deduce__result__type.html">deduce_result_type</a>< T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6 >::type </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="structsigc_1_1lambda__group2.html#a7d35c350f6255628bda5a4730169eed8">operator()</a> (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 </td></tr>
-<tr class="separator:a7d35c350f6255628bda5a4730169eed8"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:afaf7c41dd05dbc517170c43deafd0473"><td class="memTemplParams" colspan="2">template<class T_arg1 , class T_arg2 , class T_arg3 , class T_arg4 , class T_arg5 , class T_arg6 , class T_arg7 > </td></tr>
-<tr class="memitem:afaf7c41dd05dbc517170c43deafd0473"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="structsigc_1_1deduce__result__type.html">deduce_result_type</a>< T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7 >::type </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="structsigc_1_1lambda__group2.html#afaf7c41dd05dbc517170c43deafd0473">operator()</a> (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 </td></tr>
-<tr class="separator:afaf7c41dd05dbc517170c43deafd0473"><td class="memSeparator" colspan="2"> </td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
-Public Attributes</h2></td></tr>
-<tr class="memitem:a81d504b21b2eb7821975e34e91bf702d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structsigc_1_1lambda__group2.html#a97ac691a597ef2063a4d0c53b99c28c5">functor_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structsigc_1_1lambda__group2.html#a81d504b21b2eb7821975e34e91bf702d">func_</a></td></tr>
-<tr class="separator:a81d504b21b2eb7821975e34e91bf702d"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a4bd04d092cfb0c677653dd6e2a329c7a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structsigc_1_1lambda__group2.html#aba1e85dabda9b2c0fffbf41d2cc83064">value1_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structsigc_1_1lambda__group2.html#a4bd04d092cfb0c677653dd6e2a329c7a">value1_</a></td></tr>
-<tr class="separator:a4bd04d092cfb0c677653dd6e2a329c7a"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a23175ece70377eaa63bb1ec8f9f0b404"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structsigc_1_1lambda__group2.html#a48051f2cfec13546be194319afc6678f">value2_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structsigc_1_1lambda__group2.html#a23175ece70377eaa63bb1ec8f9f0b404">value2_</a></td></tr>
-<tr class="separator:a23175ece70377eaa63bb1ec8f9f0b404"><td class="memSeparator" colspan="2"> </td></tr>
-</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<div class="textblock"><h3>template<class T_functor, class T_type1, class T_type2><br />
-struct sigc::lambda_group2< T_functor, T_type1, T_type2 ></h3>
-
-<p><a class="el" href="structsigc_1_1lambda__group2.html" title="lambda_group2 wraps a functor and rebuilds its arguments from 2 lambda expressions. ">lambda_group2</a> wraps a functor and rebuilds its arguments from 2 lambda expressions. </p>
-<p>Use the convenience function <a class="el" href="group__lambdas.html#ga56a5905d189af5fab33d8c456f097a29" title="Alters an arbitrary functor by rebuilding its arguments from 1 lambda expressions. ">group()</a> to create an instance of <a class="el" href="structsigc_1_1lambda__group2.html" title="lambda_group2 wraps a functor and rebuilds its arguments from 2 lambda expressions. ">lambda_group2</a>.</p>
-<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000020">Deprecated:</a></b></dt><dd>Use C++11 lambda expressions or std::bind() instead.</dd></dl>
-</div><h2 class="groupheader">Member Typedef Documentation</h2>
-<a class="anchor" id="a97ac691a597ef2063a4d0c53b99c28c5"></a>
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template <class T_functor , class T_type1 , class T_type2 > </div>
- <table class="memname">
- <tr>
- <td class="memname">typedef <a class="el" href="structsigc_1_1adaptor__trait.html">adaptor_trait</a><T_functor>::adaptor_type <a class="el" href="structsigc_1_1lambda__group2.html">sigc::lambda_group2</a>< T_functor, T_type1, T_type2 >::<a class="el" href="structsigc_1_1lambda__group2.html#a97ac691a597ef2063a4d0c53b99c28c5">functor_type</a></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="acedf5bd987b41b0a975aece3f91562c6"></a>
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template <class T_functor , class T_type1 , class T_type2 > </div>
- <table class="memname">
- <tr>
- <td class="memname">typedef <a class="el" href="structsigc_1_1functor__trait.html">functor_trait</a><T_functor>::<a class="el" href="structsigc_1_1lambda__group2.html#acedf5bd987b41b0a975aece3f91562c6">result_type</a> <a class="el" href="structsigc_1_1lambda__group2.html">sigc::lambda_group2</a>< T_functor, T_type1, T_type2 >::<a class="el" href="structsigc_1_1lambda__group2.html#acedf5bd987b41b0a975aece3f91562c6">result_type</a></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="aba1e85dabda9b2c0fffbf41d2cc83064"></a>
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template <class T_functor , class T_type1 , class T_type2 > </div>
- <table class="memname">
- <tr>
- <td class="memname">typedef <a class="el" href="structsigc_1_1lambda.html">lambda</a><T_type1>::lambda_type <a class="el" href="structsigc_1_1lambda__group2.html">sigc::lambda_group2</a>< T_functor, T_type1, T_type2 >::<a class="el" href="structsigc_1_1lambda__group2.html#aba1e85dabda9b2c0fffbf41d2cc83064">value1_type</a></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a48051f2cfec13546be194319afc6678f"></a>
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template <class T_functor , class T_type1 , class T_type2 > </div>
- <table class="memname">
- <tr>
- <td class="memname">typedef <a class="el" href="structsigc_1_1lambda.html">lambda</a><T_type2>::lambda_type <a class="el" href="structsigc_1_1lambda__group2.html">sigc::lambda_group2</a>< T_functor, T_type1, T_type2 >::<a class="el" href="structsigc_1_1lambda__group2.html#a48051f2cfec13546be194319afc6678f">value2_type</a></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<h2 class="groupheader">Constructor & Destructor Documentation</h2>
-<a class="anchor" id="a2d29af15fc0cbad49c426753e9d218e4"></a>
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template <class T_functor , class T_type1 , class T_type2 > </div>
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="structsigc_1_1lambda__group2.html">sigc::lambda_group2</a>< T_functor, T_type1, T_type2 >::<a class="el" href="structsigc_1_1lambda__group2.html">lambda_group2</a> </td>
- <td>(</td>
- <td class="paramtype">typename <a class="el" href="structsigc_1_1type__trait.html">type_trait</a>< T_functor >::take </td>
- <td class="paramname"><em>_A_func</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">typename <a class="el" href="structsigc_1_1type__trait.html">type_trait</a>< T_type1 >::take </td>
- <td class="paramname"><em>_A_1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">typename <a class="el" href="structsigc_1_1type__trait.html">type_trait</a>< T_type2 >::take </td>
- <td class="paramname"><em>_A_2</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span></span> </td>
- </tr>
-</table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<h2 class="groupheader">Member Function Documentation</h2>
-<a class="anchor" id="a84d9692718e446306a763355303c6e52"></a>
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template <class T_functor , class T_type1 , class T_type2 > </div>
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="structsigc_1_1lambda__group2.html#acedf5bd987b41b0a975aece3f91562c6">result_type</a> <a class="el" href="structsigc_1_1lambda__group2.html">sigc::lambda_group2</a>< T_functor, T_type1, T_type2 >::operator() </td>
- <td>(</td>
- <td class="paramname"></td><td>)</td>
- <td> const</td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="aaba8dea339e534f2383cf83f7877a3d0"></a>
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template <class T_functor , class T_type1 , class T_type2 > </div>
-<div class="memtemplate">
-template <class T_arg1 > </div>
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="structsigc_1_1deduce__result__type.html">deduce_result_type</a><T_arg1>::type <a class="el" href="structsigc_1_1lambda__group2.html">sigc::lambda_group2</a>< T_functor, T_type1, T_type2 >::operator() </td>
- <td>(</td>
- <td class="paramtype">T_arg1 </td>
- <td class="paramname"><em>_A_1</em></td><td>)</td>
- <td> const</td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span></span> </td>
- </tr>
-</table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="ad98d956665fb748da9b48d1685421907"></a>
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template <class T_functor , class T_type1 , class T_type2 > </div>
-<div class="memtemplate">
-template <class T_arg1 , class T_arg2 > </div>
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="structsigc_1_1deduce__result__type.html">deduce_result_type</a><T_arg1, T_arg2>::type <a class="el" href="structsigc_1_1lambda__group2.html">sigc::lambda_group2</a>< T_functor, T_type1, T_type2 >::operator() </td>
- <td>(</td>
- <td class="paramtype">T_arg1 </td>
- <td class="paramname"><em>_A_1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">T_arg2 </td>
- <td class="paramname"><em>_A_2</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td> const</td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span></span> </td>
- </tr>
-</table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a2ff6da0bfb93be36b2b5c4d1e6b1529e"></a>
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template <class T_functor , class T_type1 , class T_type2 > </div>
-<div class="memtemplate">
-template <class T_arg1 , class T_arg2 , class T_arg3 > </div>
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="structsigc_1_1deduce__result__type.html">deduce_result_type</a><T_arg1, T_arg2, T_arg3>::type <a class="el" href="structsigc_1_1lambda__group2.html">sigc::lambda_group2</a>< T_functor, T_type1, T_type2 >::operator() </td>
- <td>(</td>
- <td class="paramtype">T_arg1 </td>
- <td class="paramname"><em>_A_1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">T_arg2 </td>
- <td class="paramname"><em>_A_2</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">T_arg3 </td>
- <td class="paramname"><em>_A_3</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td> const</td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span></span> </td>
- </tr>
-</table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a9c9b6b7a1a2b15d888044f9577b4b5da"></a>
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template <class T_functor , class T_type1 , class T_type2 > </div>
-<div class="memtemplate">
-template <class T_arg1 , class T_arg2 , class T_arg3 , class T_arg4 > </div>
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="structsigc_1_1deduce__result__type.html">deduce_result_type</a><T_arg1, T_arg2, T_arg3, T_arg4>::type <a class="el" href="structsigc_1_1lambda__group2.html">sigc::lambda_group2</a>< T_functor, T_type1, T_type2 >::operator() </td>
- <td>(</td>
- <td class="paramtype">T_arg1 </td>
- <td class="paramname"><em>_A_1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">T_arg2 </td>
- <td class="paramname"><em>_A_2</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">T_arg3 </td>
- <td class="paramname"><em>_A_3</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">T_arg4 </td>
- <td class="paramname"><em>_A_4</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td> const</td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span></span> </td>
- </tr>
-</table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a1bd07e1cc8400c3ee2dd5a9ef45129ec"></a>
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template <class T_functor , class T_type1 , class T_type2 > </div>
-<div class="memtemplate">
-template <class T_arg1 , class T_arg2 , class T_arg3 , class T_arg4 , class T_arg5 > </div>
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="structsigc_1_1deduce__result__type.html">deduce_result_type</a><T_arg1, T_arg2, T_arg3, T_arg4, T_arg5>::type <a class="el" href="structsigc_1_1lambda__group2.html">sigc::lambda_group2</a>< T_functor, T_type1, T_type2 >::operator() </td>
- <td>(</td>
- <td class="paramtype">T_arg1 </td>
- <td class="paramname"><em>_A_1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">T_arg2 </td>
- <td class="paramname"><em>_A_2</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">T_arg3 </td>
- <td class="paramname"><em>_A_3</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">T_arg4 </td>
- <td class="paramname"><em>_A_4</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">T_arg5 </td>
- <td class="paramname"><em>_A_5</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td> const</td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span></span> </td>
- </tr>
-</table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a7d35c350f6255628bda5a4730169eed8"></a>
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template <class T_functor , class T_type1 , class T_type2 > </div>
-<div class="memtemplate">
-template <class T_arg1 , class T_arg2 , class T_arg3 , class T_arg4 , class T_arg5 , class T_arg6 > </div>
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="structsigc_1_1deduce__result__type.html">deduce_result_type</a><T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6>::type <a class="el" href="structsigc_1_1lambda__group2.html">sigc::lambda_group2</a>< T_functor, T_type1, T_type2 >::operator() </td>
- <td>(</td>
- <td class="paramtype">T_arg1 </td>
- <td class="paramname"><em>_A_1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">T_arg2 </td>
- <td class="paramname"><em>_A_2</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">T_arg3 </td>
- <td class="paramname"><em>_A_3</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">T_arg4 </td>
- <td class="paramname"><em>_A_4</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">T_arg5 </td>
- <td class="paramname"><em>_A_5</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">T_arg6 </td>
- <td class="paramname"><em>_A_6</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td> const</td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span></span> </td>
- </tr>
-</table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="afaf7c41dd05dbc517170c43deafd0473"></a>
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template <class T_functor , class T_type1 , class T_type2 > </div>
-<div class="memtemplate">
-template <class T_arg1 , class T_arg2 , class T_arg3 , class T_arg4 , class T_arg5 , class T_arg6 , class T_arg7 > </div>
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="structsigc_1_1deduce__result__type.html">deduce_result_type</a><T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7>::type <a class="el" href="structsigc_1_1lambda__group2.html">sigc::lambda_group2</a>< T_functor, T_type1, T_type2 >::operator() </td>
- <td>(</td>
- <td class="paramtype">T_arg1 </td>
- <td class="paramname"><em>_A_1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">T_arg2 </td>
- <td class="paramname"><em>_A_2</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">T_arg3 </td>
- <td class="paramname"><em>_A_3</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">T_arg4 </td>
- <td class="paramname"><em>_A_4</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">T_arg5 </td>
- <td class="paramname"><em>_A_5</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">T_arg6 </td>
- <td class="paramname"><em>_A_6</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">T_arg7 </td>
- <td class="paramname"><em>_A_7</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td> const</td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span></span> </td>
- </tr>
-</table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<h2 class="groupheader">Member Data Documentation</h2>
-<a class="anchor" id="a81d504b21b2eb7821975e34e91bf702d"></a>
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template <class T_functor , class T_type1 , class T_type2 > </div>
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="structsigc_1_1lambda__group2.html#a97ac691a597ef2063a4d0c53b99c28c5">functor_type</a> <a class="el" href="structsigc_1_1lambda__group2.html">sigc::lambda_group2</a>< T_functor, T_type1, T_type2 >::func_</td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">mutable</span></span> </td>
- </tr>
-</table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a4bd04d092cfb0c677653dd6e2a329c7a"></a>
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template <class T_functor , class T_type1 , class T_type2 > </div>
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="structsigc_1_1lambda__group2.html#aba1e85dabda9b2c0fffbf41d2cc83064">value1_type</a> <a class="el" href="structsigc_1_1lambda__group2.html">sigc::lambda_group2</a>< T_functor, T_type1, T_type2 >::value1_</td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a23175ece70377eaa63bb1ec8f9f0b404"></a>
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template <class T_functor , class T_type1 , class T_type2 > </div>
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="structsigc_1_1lambda__group2.html#a48051f2cfec13546be194319afc6678f">value2_type</a> <a class="el" href="structsigc_1_1lambda__group2.html">sigc::lambda_group2</a>< T_functor, T_type1, T_type2 >::value2_</td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.9.1
-</small></address>
-</body>
-</html>
+++ /dev/null
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.9.1"/>
-<title>libsigc++: Member List</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-<link href="doxygen-extra.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.9.1 -->
- <div id="navrow1" class="tabs">
- <ul class="tablist">
- <li><a href="index.html"><span>Main Page</span></a></li>
- <li><a href="pages.html"><span>Related Pages</span></a></li>
- <li><a href="modules.html"><span>Modules</span></a></li>
- <li><a href="namespaces.html"><span>Namespaces</span></a></li>
- <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
- </ul>
- </div>
- <div id="navrow2" class="tabs2">
- <ul class="tablist">
- <li><a href="annotated.html"><span>Class List</span></a></li>
- <li><a href="classes.html"><span>Class Index</span></a></li>
- <li><a href="inherits.html"><span>Class Hierarchy</span></a></li>
- <li><a href="functions.html"><span>Class Members</span></a></li>
- </ul>
- </div>
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="namespacesigc.html">sigc</a></li><li class="navelem"><a class="el" href="structsigc_1_1lambda__group3.html">lambda_group3</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sigc::lambda_group3< T_functor, T_type1, T_type2, T_type3 > Member List</div> </div>
-</div><!--header-->
-<div class="contents">
-
-<p>This is the complete list of members for <a class="el" href="structsigc_1_1lambda__group3.html">sigc::lambda_group3< T_functor, T_type1, T_type2, T_type3 ></a>, including all inherited members.</p>
-<table class="directory">
- <tr class="even"><td class="entry"><a class="el" href="structsigc_1_1lambda__group3.html#ae5bd70216dc26c2328c0cf08353bc06f">func_</a></td><td class="entry"><a class="el" href="structsigc_1_1lambda__group3.html">sigc::lambda_group3< T_functor, T_type1, T_type2, T_type3 ></a></td><td class="entry"><span class="mlabel">mutable</span></td></tr>
- <tr><td class="entry"><a class="el" href="structsigc_1_1lambda__group3.html#a33feec6b2637fb5bea3f7a7f7c6e2142">functor_type</a> typedef</td><td class="entry"><a class="el" href="structsigc_1_1lambda__group3.html">sigc::lambda_group3< T_functor, T_type1, T_type2, T_type3 ></a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="structsigc_1_1lambda__group3.html#a10f0e874c01605f803f80e106eb49691">lambda_group3</a>(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)</td><td class="entry"><a class="el" href="structsigc_1_1lambda__group3.html">sigc::lambda_group3< T_functor, T_type1, T_type2, T_type3 ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="structsigc_1_1lambda__group3.html#a1724e7b0036ce70ab6076f2bcccc9c4e">operator()</a>() const </td><td class="entry"><a class="el" href="structsigc_1_1lambda__group3.html">sigc::lambda_group3< T_functor, T_type1, T_type2, T_type3 ></a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="structsigc_1_1lambda__group3.html#ad7b7fbb96ae7f5cf4fa5332b8d3098f7">operator()</a>(T_arg1 _A_1) const </td><td class="entry"><a class="el" href="structsigc_1_1lambda__group3.html">sigc::lambda_group3< T_functor, T_type1, T_type2, T_type3 ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="structsigc_1_1lambda__group3.html#aa8b978d18286156ad9c359280101bc70">operator()</a>(T_arg1 _A_1, T_arg2 _A_2) const </td><td class="entry"><a class="el" href="structsigc_1_1lambda__group3.html">sigc::lambda_group3< T_functor, T_type1, T_type2, T_type3 ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="structsigc_1_1lambda__group3.html#af82b660c1cffa35c7b12b9a2d39799e3">operator()</a>(T_arg1 _A_1, T_arg2 _A_2, T_arg3 _A_3) const </td><td class="entry"><a class="el" href="structsigc_1_1lambda__group3.html">sigc::lambda_group3< T_functor, T_type1, T_type2, T_type3 ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="structsigc_1_1lambda__group3.html#a372d4f1c91828696c70662e524dc05b7">operator()</a>(T_arg1 _A_1, T_arg2 _A_2, T_arg3 _A_3, T_arg4 _A_4) const </td><td class="entry"><a class="el" href="structsigc_1_1lambda__group3.html">sigc::lambda_group3< T_functor, T_type1, T_type2, T_type3 ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="structsigc_1_1lambda__group3.html#a9fda2de19e0c1c70d76fc3c569fb8970">operator()</a>(T_arg1 _A_1, T_arg2 _A_2, T_arg3 _A_3, T_arg4 _A_4, T_arg5 _A_5) const </td><td class="entry"><a class="el" href="structsigc_1_1lambda__group3.html">sigc::lambda_group3< T_functor, T_type1, T_type2, T_type3 ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="structsigc_1_1lambda__group3.html#a0d42748af9f046a92e13078fd6de1af4">operator()</a>(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 </td><td class="entry"><a class="el" href="structsigc_1_1lambda__group3.html">sigc::lambda_group3< T_functor, T_type1, T_type2, T_type3 ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="structsigc_1_1lambda__group3.html#a50b0f20feaee68e481a1ff40aa3b757b">operator()</a>(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 </td><td class="entry"><a class="el" href="structsigc_1_1lambda__group3.html">sigc::lambda_group3< T_functor, T_type1, T_type2, T_type3 ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="structsigc_1_1lambda__group3.html#afb1ec9fdf67e5c37df9f94381e662322">result_type</a> typedef</td><td class="entry"><a class="el" href="structsigc_1_1lambda__group3.html">sigc::lambda_group3< T_functor, T_type1, T_type2, T_type3 ></a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="structsigc_1_1lambda__group3.html#aa7f6344108a494d5d150398e8c883d1d">value1_</a></td><td class="entry"><a class="el" href="structsigc_1_1lambda__group3.html">sigc::lambda_group3< T_functor, T_type1, T_type2, T_type3 ></a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="structsigc_1_1lambda__group3.html#a9b336d0eadd9475f2e45b6aedfe2e97d">value1_type</a> typedef</td><td class="entry"><a class="el" href="structsigc_1_1lambda__group3.html">sigc::lambda_group3< T_functor, T_type1, T_type2, T_type3 ></a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="structsigc_1_1lambda__group3.html#a0329614243229b16bff4a0faaadfcabf">value2_</a></td><td class="entry"><a class="el" href="structsigc_1_1lambda__group3.html">sigc::lambda_group3< T_functor, T_type1, T_type2, T_type3 ></a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="structsigc_1_1lambda__group3.html#af4e66634f79c2c8c1f5e64d586816234">value2_type</a> typedef</td><td class="entry"><a class="el" href="structsigc_1_1lambda__group3.html">sigc::lambda_group3< T_functor, T_type1, T_type2, T_type3 ></a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="structsigc_1_1lambda__group3.html#a7589f349c2cc3c0420a2501470ce566a">value3_</a></td><td class="entry"><a class="el" href="structsigc_1_1lambda__group3.html">sigc::lambda_group3< T_functor, T_type1, T_type2, T_type3 ></a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="structsigc_1_1lambda__group3.html#a7ea1e7fea0a9522ccacf1e2ab36fd919">value3_type</a> typedef</td><td class="entry"><a class="el" href="structsigc_1_1lambda__group3.html">sigc::lambda_group3< T_functor, T_type1, T_type2, T_type3 ></a></td><td class="entry"></td></tr>
-</table></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.9.1
-</small></address>
-</body>
-</html>
+++ /dev/null
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.9.1"/>
-<title>libsigc++: sigc::lambda_group3< T_functor, T_type1, T_type2, T_type3 > Struct Template Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-<link href="doxygen-extra.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.9.1 -->
- <div id="navrow1" class="tabs">
- <ul class="tablist">
- <li><a href="index.html"><span>Main Page</span></a></li>
- <li><a href="pages.html"><span>Related Pages</span></a></li>
- <li><a href="modules.html"><span>Modules</span></a></li>
- <li><a href="namespaces.html"><span>Namespaces</span></a></li>
- <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
- </ul>
- </div>
- <div id="navrow2" class="tabs2">
- <ul class="tablist">
- <li><a href="annotated.html"><span>Class List</span></a></li>
- <li><a href="classes.html"><span>Class Index</span></a></li>
- <li><a href="inherits.html"><span>Class Hierarchy</span></a></li>
- <li><a href="functions.html"><span>Class Members</span></a></li>
- </ul>
- </div>
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="namespacesigc.html">sigc</a></li><li class="navelem"><a class="el" href="structsigc_1_1lambda__group3.html">lambda_group3</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="summary">
-<a href="#pub-types">Public Types</a> |
-<a href="#pub-methods">Public Member Functions</a> |
-<a href="#pub-attribs">Public Attributes</a> |
-<a href="structsigc_1_1lambda__group3-members.html">List of all members</a> </div>
- <div class="headertitle">
-<div class="title">sigc::lambda_group3< T_functor, T_type1, T_type2, T_type3 > Struct Template Reference<div class="ingroups"><a class="el" href="group__lambdas.html">Lambdas</a></div></div> </div>
-</div><!--header-->
-<div class="contents">
-
-<p><a class="el" href="structsigc_1_1lambda__group3.html" title="lambda_group3 wraps a functor and rebuilds its arguments from 3 lambda expressions. ">lambda_group3</a> wraps a functor and rebuilds its arguments from 3 lambda expressions.
- <a href="structsigc_1_1lambda__group3.html#details">More...</a></p>
-
-<p><code>#include <sigc++/adaptors/lambda/group.h></code></p>
-<div class="dynheader">
-Inheritance diagram for sigc::lambda_group3< T_functor, T_type1, T_type2, T_type3 >:</div>
-<div class="dyncontent">
-<div class="center"><img src="structsigc_1_1lambda__group3__inherit__graph.png" border="0" usemap="#sigc_1_1lambda__group3_3_01T__functor_00_01T__type1_00_01T__type2_00_01T__type3_01_4_inherit__map" alt="Inheritance graph"/></div>
-<map name="sigc_1_1lambda__group3_3_01T__functor_00_01T__type1_00_01T__type2_00_01T__type3_01_4_inherit__map" id="sigc_1_1lambda__group3_3_01T__functor_00_01T__type1_00_01T__type2_00_01T__type3_01_4_inherit__map">
-<area shape="rect" id="node2" href="structsigc_1_1lambda__base.html" title="A hint to the compiler. " alt="" coords="14,155,155,181"/><area shape="rect" id="node3" href="structsigc_1_1adaptor__base.html" title="A hint to the compiler. " alt="" coords="13,80,156,107"/><area shape="rect" id="node4" href="structsigc_1_1functor__base.html" title="A hint to the compiler. " alt="" coords="15,5,154,32"/></map>
-<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
-Public Types</h2></td></tr>
-<tr class="memitem:a33feec6b2637fb5bea3f7a7f7c6e2142"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="structsigc_1_1adaptor__trait.html">adaptor_trait</a>< T_functor >::adaptor_type </td><td class="memItemRight" valign="bottom"><a class="el" href="structsigc_1_1lambda__group3.html#a33feec6b2637fb5bea3f7a7f7c6e2142">functor_type</a></td></tr>
-<tr class="separator:a33feec6b2637fb5bea3f7a7f7c6e2142"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:afb1ec9fdf67e5c37df9f94381e662322"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="structsigc_1_1functor__trait.html">functor_trait</a>< T_functor >::<a class="el" href="structsigc_1_1lambda__group3.html#afb1ec9fdf67e5c37df9f94381e662322">result_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structsigc_1_1lambda__group3.html#afb1ec9fdf67e5c37df9f94381e662322">result_type</a></td></tr>
-<tr class="separator:afb1ec9fdf67e5c37df9f94381e662322"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a9b336d0eadd9475f2e45b6aedfe2e97d"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="structsigc_1_1lambda.html">lambda</a>< T_type1 >::lambda_type </td><td class="memItemRight" valign="bottom"><a class="el" href="structsigc_1_1lambda__group3.html#a9b336d0eadd9475f2e45b6aedfe2e97d">value1_type</a></td></tr>
-<tr class="separator:a9b336d0eadd9475f2e45b6aedfe2e97d"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:af4e66634f79c2c8c1f5e64d586816234"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="structsigc_1_1lambda.html">lambda</a>< T_type2 >::lambda_type </td><td class="memItemRight" valign="bottom"><a class="el" href="structsigc_1_1lambda__group3.html#af4e66634f79c2c8c1f5e64d586816234">value2_type</a></td></tr>
-<tr class="separator:af4e66634f79c2c8c1f5e64d586816234"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a7ea1e7fea0a9522ccacf1e2ab36fd919"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="structsigc_1_1lambda.html">lambda</a>< T_type3 >::lambda_type </td><td class="memItemRight" valign="bottom"><a class="el" href="structsigc_1_1lambda__group3.html#a7ea1e7fea0a9522ccacf1e2ab36fd919">value3_type</a></td></tr>
-<tr class="separator:a7ea1e7fea0a9522ccacf1e2ab36fd919"><td class="memSeparator" colspan="2"> </td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
-Public Member Functions</h2></td></tr>
-<tr class="memitem:a10f0e874c01605f803f80e106eb49691"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="structsigc_1_1lambda__group3.html#a10f0e874c01605f803f80e106eb49691">lambda_group3</a> (typename <a class="el" href="structsigc_1_1type__trait.html">type_trait</a>< T_functor >::take _A_func, typename <a class="el" href="structsigc_1_1type__trait.html">type_trait</a>< T_type1 >::take _A_1, typename <a class="el" href="structsigc_1_1type__trait.html">type_trait</a>< T_type2 >::take _A_2, typename <a class="el" href="structsigc_1_1type__trait.html">type_trait</a>< T_type3 >::take _A_3)</td></tr>
-<tr class="separator:a10f0e874c01605f803f80e106eb49691"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a1724e7b0036ce70ab6076f2bcccc9c4e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structsigc_1_1lambda__group3.html#afb1ec9fdf67e5c37df9f94381e662322">result_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structsigc_1_1lambda__group3.html#a1724e7b0036ce70ab6076f2bcccc9c4e">operator()</a> () const </td></tr>
-<tr class="separator:a1724e7b0036ce70ab6076f2bcccc9c4e"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ad7b7fbb96ae7f5cf4fa5332b8d3098f7"><td class="memTemplParams" colspan="2">template<class T_arg1 > </td></tr>
-<tr class="memitem:ad7b7fbb96ae7f5cf4fa5332b8d3098f7"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="structsigc_1_1deduce__result__type.html">deduce_result_type</a>< T_arg1 >::type </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="structsigc_1_1lambda__group3.html#ad7b7fbb96ae7f5cf4fa5332b8d3098f7">operator()</a> (T_arg1 _A_1) const </td></tr>
-<tr class="separator:ad7b7fbb96ae7f5cf4fa5332b8d3098f7"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:aa8b978d18286156ad9c359280101bc70"><td class="memTemplParams" colspan="2">template<class T_arg1 , class T_arg2 > </td></tr>
-<tr class="memitem:aa8b978d18286156ad9c359280101bc70"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="structsigc_1_1deduce__result__type.html">deduce_result_type</a>< T_arg1, T_arg2 >::type </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="structsigc_1_1lambda__group3.html#aa8b978d18286156ad9c359280101bc70">operator()</a> (T_arg1 _A_1, T_arg2 _A_2) const </td></tr>
-<tr class="separator:aa8b978d18286156ad9c359280101bc70"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:af82b660c1cffa35c7b12b9a2d39799e3"><td class="memTemplParams" colspan="2">template<class T_arg1 , class T_arg2 , class T_arg3 > </td></tr>
-<tr class="memitem:af82b660c1cffa35c7b12b9a2d39799e3"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="structsigc_1_1deduce__result__type.html">deduce_result_type</a>< T_arg1, T_arg2, T_arg3 >::type </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="structsigc_1_1lambda__group3.html#af82b660c1cffa35c7b12b9a2d39799e3">operator()</a> (T_arg1 _A_1, T_arg2 _A_2, T_arg3 _A_3) const </td></tr>
-<tr class="separator:af82b660c1cffa35c7b12b9a2d39799e3"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a372d4f1c91828696c70662e524dc05b7"><td class="memTemplParams" colspan="2">template<class T_arg1 , class T_arg2 , class T_arg3 , class T_arg4 > </td></tr>
-<tr class="memitem:a372d4f1c91828696c70662e524dc05b7"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="structsigc_1_1deduce__result__type.html">deduce_result_type</a>< T_arg1, T_arg2, T_arg3, T_arg4 >::type </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="structsigc_1_1lambda__group3.html#a372d4f1c91828696c70662e524dc05b7">operator()</a> (T_arg1 _A_1, T_arg2 _A_2, T_arg3 _A_3, T_arg4 _A_4) const </td></tr>
-<tr class="separator:a372d4f1c91828696c70662e524dc05b7"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a9fda2de19e0c1c70d76fc3c569fb8970"><td class="memTemplParams" colspan="2">template<class T_arg1 , class T_arg2 , class T_arg3 , class T_arg4 , class T_arg5 > </td></tr>
-<tr class="memitem:a9fda2de19e0c1c70d76fc3c569fb8970"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="structsigc_1_1deduce__result__type.html">deduce_result_type</a>< T_arg1, T_arg2, T_arg3, T_arg4, T_arg5 >::type </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="structsigc_1_1lambda__group3.html#a9fda2de19e0c1c70d76fc3c569fb8970">operator()</a> (T_arg1 _A_1, T_arg2 _A_2, T_arg3 _A_3, T_arg4 _A_4, T_arg5 _A_5) const </td></tr>
-<tr class="separator:a9fda2de19e0c1c70d76fc3c569fb8970"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a0d42748af9f046a92e13078fd6de1af4"><td class="memTemplParams" colspan="2">template<class T_arg1 , class T_arg2 , class T_arg3 , class T_arg4 , class T_arg5 , class T_arg6 > </td></tr>
-<tr class="memitem:a0d42748af9f046a92e13078fd6de1af4"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="structsigc_1_1deduce__result__type.html">deduce_result_type</a>< T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6 >::type </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="structsigc_1_1lambda__group3.html#a0d42748af9f046a92e13078fd6de1af4">operator()</a> (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 </td></tr>
-<tr class="separator:a0d42748af9f046a92e13078fd6de1af4"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a50b0f20feaee68e481a1ff40aa3b757b"><td class="memTemplParams" colspan="2">template<class T_arg1 , class T_arg2 , class T_arg3 , class T_arg4 , class T_arg5 , class T_arg6 , class T_arg7 > </td></tr>
-<tr class="memitem:a50b0f20feaee68e481a1ff40aa3b757b"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="structsigc_1_1deduce__result__type.html">deduce_result_type</a>< T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7 >::type </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="structsigc_1_1lambda__group3.html#a50b0f20feaee68e481a1ff40aa3b757b">operator()</a> (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 </td></tr>
-<tr class="separator:a50b0f20feaee68e481a1ff40aa3b757b"><td class="memSeparator" colspan="2"> </td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
-Public Attributes</h2></td></tr>
-<tr class="memitem:ae5bd70216dc26c2328c0cf08353bc06f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structsigc_1_1lambda__group3.html#a33feec6b2637fb5bea3f7a7f7c6e2142">functor_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structsigc_1_1lambda__group3.html#ae5bd70216dc26c2328c0cf08353bc06f">func_</a></td></tr>
-<tr class="separator:ae5bd70216dc26c2328c0cf08353bc06f"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:aa7f6344108a494d5d150398e8c883d1d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structsigc_1_1lambda__group3.html#a9b336d0eadd9475f2e45b6aedfe2e97d">value1_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structsigc_1_1lambda__group3.html#aa7f6344108a494d5d150398e8c883d1d">value1_</a></td></tr>
-<tr class="separator:aa7f6344108a494d5d150398e8c883d1d"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a0329614243229b16bff4a0faaadfcabf"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structsigc_1_1lambda__group3.html#af4e66634f79c2c8c1f5e64d586816234">value2_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structsigc_1_1lambda__group3.html#a0329614243229b16bff4a0faaadfcabf">value2_</a></td></tr>
-<tr class="separator:a0329614243229b16bff4a0faaadfcabf"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a7589f349c2cc3c0420a2501470ce566a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structsigc_1_1lambda__group3.html#a7ea1e7fea0a9522ccacf1e2ab36fd919">value3_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structsigc_1_1lambda__group3.html#a7589f349c2cc3c0420a2501470ce566a">value3_</a></td></tr>
-<tr class="separator:a7589f349c2cc3c0420a2501470ce566a"><td class="memSeparator" colspan="2"> </td></tr>
-</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<div class="textblock"><h3>template<class T_functor, class T_type1, class T_type2, class T_type3><br />
-struct sigc::lambda_group3< T_functor, T_type1, T_type2, T_type3 ></h3>
-
-<p><a class="el" href="structsigc_1_1lambda__group3.html" title="lambda_group3 wraps a functor and rebuilds its arguments from 3 lambda expressions. ">lambda_group3</a> wraps a functor and rebuilds its arguments from 3 lambda expressions. </p>
-<p>Use the convenience function <a class="el" href="group__lambdas.html#ga56a5905d189af5fab33d8c456f097a29" title="Alters an arbitrary functor by rebuilding its arguments from 1 lambda expressions. ">group()</a> to create an instance of <a class="el" href="structsigc_1_1lambda__group3.html" title="lambda_group3 wraps a functor and rebuilds its arguments from 3 lambda expressions. ">lambda_group3</a>.</p>
-<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000021">Deprecated:</a></b></dt><dd>Use C++11 lambda expressions or std::bind() instead.</dd></dl>
-</div><h2 class="groupheader">Member Typedef Documentation</h2>
-<a class="anchor" id="a33feec6b2637fb5bea3f7a7f7c6e2142"></a>
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template <class T_functor , class T_type1 , class T_type2 , class T_type3 > </div>
- <table class="memname">
- <tr>
- <td class="memname">typedef <a class="el" href="structsigc_1_1adaptor__trait.html">adaptor_trait</a><T_functor>::adaptor_type <a class="el" href="structsigc_1_1lambda__group3.html">sigc::lambda_group3</a>< T_functor, T_type1, T_type2, T_type3 >::<a class="el" href="structsigc_1_1lambda__group3.html#a33feec6b2637fb5bea3f7a7f7c6e2142">functor_type</a></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="afb1ec9fdf67e5c37df9f94381e662322"></a>
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template <class T_functor , class T_type1 , class T_type2 , class T_type3 > </div>
- <table class="memname">
- <tr>
- <td class="memname">typedef <a class="el" href="structsigc_1_1functor__trait.html">functor_trait</a><T_functor>::<a class="el" href="structsigc_1_1lambda__group3.html#afb1ec9fdf67e5c37df9f94381e662322">result_type</a> <a class="el" href="structsigc_1_1lambda__group3.html">sigc::lambda_group3</a>< T_functor, T_type1, T_type2, T_type3 >::<a class="el" href="structsigc_1_1lambda__group3.html#afb1ec9fdf67e5c37df9f94381e662322">result_type</a></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a9b336d0eadd9475f2e45b6aedfe2e97d"></a>
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template <class T_functor , class T_type1 , class T_type2 , class T_type3 > </div>
- <table class="memname">
- <tr>
- <td class="memname">typedef <a class="el" href="structsigc_1_1lambda.html">lambda</a><T_type1>::lambda_type <a class="el" href="structsigc_1_1lambda__group3.html">sigc::lambda_group3</a>< T_functor, T_type1, T_type2, T_type3 >::<a class="el" href="structsigc_1_1lambda__group3.html#a9b336d0eadd9475f2e45b6aedfe2e97d">value1_type</a></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="af4e66634f79c2c8c1f5e64d586816234"></a>
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template <class T_functor , class T_type1 , class T_type2 , class T_type3 > </div>
- <table class="memname">
- <tr>
- <td class="memname">typedef <a class="el" href="structsigc_1_1lambda.html">lambda</a><T_type2>::lambda_type <a class="el" href="structsigc_1_1lambda__group3.html">sigc::lambda_group3</a>< T_functor, T_type1, T_type2, T_type3 >::<a class="el" href="structsigc_1_1lambda__group3.html#af4e66634f79c2c8c1f5e64d586816234">value2_type</a></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a7ea1e7fea0a9522ccacf1e2ab36fd919"></a>
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template <class T_functor , class T_type1 , class T_type2 , class T_type3 > </div>
- <table class="memname">
- <tr>
- <td class="memname">typedef <a class="el" href="structsigc_1_1lambda.html">lambda</a><T_type3>::lambda_type <a class="el" href="structsigc_1_1lambda__group3.html">sigc::lambda_group3</a>< T_functor, T_type1, T_type2, T_type3 >::<a class="el" href="structsigc_1_1lambda__group3.html#a7ea1e7fea0a9522ccacf1e2ab36fd919">value3_type</a></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<h2 class="groupheader">Constructor & Destructor Documentation</h2>
-<a class="anchor" id="a10f0e874c01605f803f80e106eb49691"></a>
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template <class T_functor , class T_type1 , class T_type2 , class T_type3 > </div>
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="structsigc_1_1lambda__group3.html">sigc::lambda_group3</a>< T_functor, T_type1, T_type2, T_type3 >::<a class="el" href="structsigc_1_1lambda__group3.html">lambda_group3</a> </td>
- <td>(</td>
- <td class="paramtype">typename <a class="el" href="structsigc_1_1type__trait.html">type_trait</a>< T_functor >::take </td>
- <td class="paramname"><em>_A_func</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">typename <a class="el" href="structsigc_1_1type__trait.html">type_trait</a>< T_type1 >::take </td>
- <td class="paramname"><em>_A_1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">typename <a class="el" href="structsigc_1_1type__trait.html">type_trait</a>< T_type2 >::take </td>
- <td class="paramname"><em>_A_2</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">typename <a class="el" href="structsigc_1_1type__trait.html">type_trait</a>< T_type3 >::take </td>
- <td class="paramname"><em>_A_3</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span></span> </td>
- </tr>
-</table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<h2 class="groupheader">Member Function Documentation</h2>
-<a class="anchor" id="a1724e7b0036ce70ab6076f2bcccc9c4e"></a>
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template <class T_functor , class T_type1 , class T_type2 , class T_type3 > </div>
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="structsigc_1_1lambda__group3.html#afb1ec9fdf67e5c37df9f94381e662322">result_type</a> <a class="el" href="structsigc_1_1lambda__group3.html">sigc::lambda_group3</a>< T_functor, T_type1, T_type2, T_type3 >::operator() </td>
- <td>(</td>
- <td class="paramname"></td><td>)</td>
- <td> const</td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="ad7b7fbb96ae7f5cf4fa5332b8d3098f7"></a>
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template <class T_functor , class T_type1 , class T_type2 , class T_type3 > </div>
-<div class="memtemplate">
-template <class T_arg1 > </div>
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="structsigc_1_1deduce__result__type.html">deduce_result_type</a><T_arg1>::type <a class="el" href="structsigc_1_1lambda__group3.html">sigc::lambda_group3</a>< T_functor, T_type1, T_type2, T_type3 >::operator() </td>
- <td>(</td>
- <td class="paramtype">T_arg1 </td>
- <td class="paramname"><em>_A_1</em></td><td>)</td>
- <td> const</td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span></span> </td>
- </tr>
-</table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="aa8b978d18286156ad9c359280101bc70"></a>
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template <class T_functor , class T_type1 , class T_type2 , class T_type3 > </div>
-<div class="memtemplate">
-template <class T_arg1 , class T_arg2 > </div>
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="structsigc_1_1deduce__result__type.html">deduce_result_type</a><T_arg1, T_arg2>::type <a class="el" href="structsigc_1_1lambda__group3.html">sigc::lambda_group3</a>< T_functor, T_type1, T_type2, T_type3 >::operator() </td>
- <td>(</td>
- <td class="paramtype">T_arg1 </td>
- <td class="paramname"><em>_A_1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">T_arg2 </td>
- <td class="paramname"><em>_A_2</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td> const</td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span></span> </td>
- </tr>
-</table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="af82b660c1cffa35c7b12b9a2d39799e3"></a>
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template <class T_functor , class T_type1 , class T_type2 , class T_type3 > </div>
-<div class="memtemplate">
-template <class T_arg1 , class T_arg2 , class T_arg3 > </div>
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="structsigc_1_1deduce__result__type.html">deduce_result_type</a><T_arg1, T_arg2, T_arg3>::type <a class="el" href="structsigc_1_1lambda__group3.html">sigc::lambda_group3</a>< T_functor, T_type1, T_type2, T_type3 >::operator() </td>
- <td>(</td>
- <td class="paramtype">T_arg1 </td>
- <td class="paramname"><em>_A_1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">T_arg2 </td>
- <td class="paramname"><em>_A_2</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">T_arg3 </td>
- <td class="paramname"><em>_A_3</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td> const</td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span></span> </td>
- </tr>
-</table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a372d4f1c91828696c70662e524dc05b7"></a>
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template <class T_functor , class T_type1 , class T_type2 , class T_type3 > </div>
-<div class="memtemplate">
-template <class T_arg1 , class T_arg2 , class T_arg3 , class T_arg4 > </div>
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="structsigc_1_1deduce__result__type.html">deduce_result_type</a><T_arg1, T_arg2, T_arg3, T_arg4>::type <a class="el" href="structsigc_1_1lambda__group3.html">sigc::lambda_group3</a>< T_functor, T_type1, T_type2, T_type3 >::operator() </td>
- <td>(</td>
- <td class="paramtype">T_arg1 </td>
- <td class="paramname"><em>_A_1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">T_arg2 </td>
- <td class="paramname"><em>_A_2</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">T_arg3 </td>
- <td class="paramname"><em>_A_3</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">T_arg4 </td>
- <td class="paramname"><em>_A_4</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td> const</td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span></span> </td>
- </tr>
-</table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a9fda2de19e0c1c70d76fc3c569fb8970"></a>
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template <class T_functor , class T_type1 , class T_type2 , class T_type3 > </div>
-<div class="memtemplate">
-template <class T_arg1 , class T_arg2 , class T_arg3 , class T_arg4 , class T_arg5 > </div>
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="structsigc_1_1deduce__result__type.html">deduce_result_type</a><T_arg1, T_arg2, T_arg3, T_arg4, T_arg5>::type <a class="el" href="structsigc_1_1lambda__group3.html">sigc::lambda_group3</a>< T_functor, T_type1, T_type2, T_type3 >::operator() </td>
- <td>(</td>
- <td class="paramtype">T_arg1 </td>
- <td class="paramname"><em>_A_1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">T_arg2 </td>
- <td class="paramname"><em>_A_2</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">T_arg3 </td>
- <td class="paramname"><em>_A_3</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">T_arg4 </td>
- <td class="paramname"><em>_A_4</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">T_arg5 </td>
- <td class="paramname"><em>_A_5</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td> const</td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span></span> </td>
- </tr>
-</table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a0d42748af9f046a92e13078fd6de1af4"></a>
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template <class T_functor , class T_type1 , class T_type2 , class T_type3 > </div>
-<div class="memtemplate">
-template <class T_arg1 , class T_arg2 , class T_arg3 , class T_arg4 , class T_arg5 , class T_arg6 > </div>
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="structsigc_1_1deduce__result__type.html">deduce_result_type</a><T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6>::type <a class="el" href="structsigc_1_1lambda__group3.html">sigc::lambda_group3</a>< T_functor, T_type1, T_type2, T_type3 >::operator() </td>
- <td>(</td>
- <td class="paramtype">T_arg1 </td>
- <td class="paramname"><em>_A_1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">T_arg2 </td>
- <td class="paramname"><em>_A_2</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">T_arg3 </td>
- <td class="paramname"><em>_A_3</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">T_arg4 </td>
- <td class="paramname"><em>_A_4</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">T_arg5 </td>
- <td class="paramname"><em>_A_5</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">T_arg6 </td>
- <td class="paramname"><em>_A_6</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td> const</td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span></span> </td>
- </tr>
-</table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a50b0f20feaee68e481a1ff40aa3b757b"></a>
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template <class T_functor , class T_type1 , class T_type2 , class T_type3 > </div>
-<div class="memtemplate">
-template <class T_arg1 , class T_arg2 , class T_arg3 , class T_arg4 , class T_arg5 , class T_arg6 , class T_arg7 > </div>
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="structsigc_1_1deduce__result__type.html">deduce_result_type</a><T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7>::type <a class="el" href="structsigc_1_1lambda__group3.html">sigc::lambda_group3</a>< T_functor, T_type1, T_type2, T_type3 >::operator() </td>
- <td>(</td>
- <td class="paramtype">T_arg1 </td>
- <td class="paramname"><em>_A_1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">T_arg2 </td>
- <td class="paramname"><em>_A_2</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">T_arg3 </td>
- <td class="paramname"><em>_A_3</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">T_arg4 </td>
- <td class="paramname"><em>_A_4</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">T_arg5 </td>
- <td class="paramname"><em>_A_5</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">T_arg6 </td>
- <td class="paramname"><em>_A_6</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">T_arg7 </td>
- <td class="paramname"><em>_A_7</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td> const</td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span></span> </td>
- </tr>
-</table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<h2 class="groupheader">Member Data Documentation</h2>
-<a class="anchor" id="ae5bd70216dc26c2328c0cf08353bc06f"></a>
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template <class T_functor , class T_type1 , class T_type2 , class T_type3 > </div>
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="structsigc_1_1lambda__group3.html#a33feec6b2637fb5bea3f7a7f7c6e2142">functor_type</a> <a class="el" href="structsigc_1_1lambda__group3.html">sigc::lambda_group3</a>< T_functor, T_type1, T_type2, T_type3 >::func_</td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">mutable</span></span> </td>
- </tr>
-</table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="aa7f6344108a494d5d150398e8c883d1d"></a>
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template <class T_functor , class T_type1 , class T_type2 , class T_type3 > </div>
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="structsigc_1_1lambda__group3.html#a9b336d0eadd9475f2e45b6aedfe2e97d">value1_type</a> <a class="el" href="structsigc_1_1lambda__group3.html">sigc::lambda_group3</a>< T_functor, T_type1, T_type2, T_type3 >::value1_</td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a0329614243229b16bff4a0faaadfcabf"></a>
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template <class T_functor , class T_type1 , class T_type2 , class T_type3 > </div>
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="structsigc_1_1lambda__group3.html#af4e66634f79c2c8c1f5e64d586816234">value2_type</a> <a class="el" href="structsigc_1_1lambda__group3.html">sigc::lambda_group3</a>< T_functor, T_type1, T_type2, T_type3 >::value2_</td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a7589f349c2cc3c0420a2501470ce566a"></a>
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template <class T_functor , class T_type1 , class T_type2 , class T_type3 > </div>
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="structsigc_1_1lambda__group3.html#a7ea1e7fea0a9522ccacf1e2ab36fd919">value3_type</a> <a class="el" href="structsigc_1_1lambda__group3.html">sigc::lambda_group3</a>< T_functor, T_type1, T_type2, T_type3 >::value3_</td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.9.1
-</small></address>
-</body>
-</html>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:29 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
+++ /dev/null
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.9.1"/>
-<title>libsigc++: Member List</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-<link href="doxygen-extra.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.9.1 -->
- <div id="navrow1" class="tabs">
- <ul class="tablist">
- <li><a href="index.html"><span>Main Page</span></a></li>
- <li><a href="pages.html"><span>Related Pages</span></a></li>
- <li><a href="modules.html"><span>Modules</span></a></li>
- <li><a href="namespaces.html"><span>Namespaces</span></a></li>
- <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
- </ul>
- </div>
- <div id="navrow2" class="tabs2">
- <ul class="tablist">
- <li><a href="annotated.html"><span>Class List</span></a></li>
- <li><a href="classes.html"><span>Class Index</span></a></li>
- <li><a href="inherits.html"><span>Class Hierarchy</span></a></li>
- <li><a href="functions.html"><span>Class Members</span></a></li>
- </ul>
- </div>
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="namespacesigc.html">sigc</a></li><li class="navelem"><a class="el" href="structsigc_1_1unwrap__lambda__type.html">unwrap_lambda_type</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sigc::unwrap_lambda_type< T_type > Member List</div> </div>
-</div><!--header-->
-<div class="contents">
-
-<p>This is the complete list of members for <a class="el" href="structsigc_1_1unwrap__lambda__type.html">sigc::unwrap_lambda_type< T_type ></a>, including all inherited members.</p>
-<table class="directory">
- <tr class="even"><td class="entry"><a class="el" href="structsigc_1_1unwrap__lambda__type.html#aadfb5741dde3970115b666c4e033ce2f">type</a> typedef</td><td class="entry"><a class="el" href="structsigc_1_1unwrap__lambda__type.html">sigc::unwrap_lambda_type< T_type ></a></td><td class="entry"></td></tr>
-</table></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.9.1
-</small></address>
-</body>
-</html>
+++ /dev/null
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.9.1"/>
-<title>libsigc++: sigc::unwrap_lambda_type< T_type > Struct Template Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-<link href="doxygen-extra.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.9.1 -->
- <div id="navrow1" class="tabs">
- <ul class="tablist">
- <li><a href="index.html"><span>Main Page</span></a></li>
- <li><a href="pages.html"><span>Related Pages</span></a></li>
- <li><a href="modules.html"><span>Modules</span></a></li>
- <li><a href="namespaces.html"><span>Namespaces</span></a></li>
- <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
- </ul>
- </div>
- <div id="navrow2" class="tabs2">
- <ul class="tablist">
- <li><a href="annotated.html"><span>Class List</span></a></li>
- <li><a href="classes.html"><span>Class Index</span></a></li>
- <li><a href="inherits.html"><span>Class Hierarchy</span></a></li>
- <li><a href="functions.html"><span>Class Members</span></a></li>
- </ul>
- </div>
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="namespacesigc.html">sigc</a></li><li class="navelem"><a class="el" href="structsigc_1_1unwrap__lambda__type.html">unwrap_lambda_type</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="summary">
-<a href="#pub-types">Public Types</a> |
-<a href="structsigc_1_1unwrap__lambda__type-members.html">List of all members</a> </div>
- <div class="headertitle">
-<div class="title">sigc::unwrap_lambda_type< T_type > Struct Template Reference<div class="ingroups"><a class="el" href="group__lambdas.html">Lambdas</a></div></div> </div>
-</div><!--header-->
-<div class="contents">
-
-<p>Deduces the type of the object stored in an object of the passed lambda type.
- <a href="structsigc_1_1unwrap__lambda__type.html#details">More...</a></p>
-
-<p><code>#include <sigc++/adaptors/lambda/base.h></code></p>
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
-Public Types</h2></td></tr>
-<tr class="memitem:aadfb5741dde3970115b666c4e033ce2f"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="structsigc_1_1unwrap__reference.html">unwrap_reference</a>< T_type >::<a class="el" href="structsigc_1_1unwrap__lambda__type.html#aadfb5741dde3970115b666c4e033ce2f">type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structsigc_1_1unwrap__lambda__type.html#aadfb5741dde3970115b666c4e033ce2f">type</a></td></tr>
-<tr class="separator:aadfb5741dde3970115b666c4e033ce2f"><td class="memSeparator" colspan="2"> </td></tr>
-</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<div class="textblock"><h3>template<class T_type><br />
-struct sigc::unwrap_lambda_type< T_type ></h3>
-
-<p>Deduces the type of the object stored in an object of the passed lambda type. </p>
-<p>If the type passed as template argument is not of lambda type, type is defined to <a class="el" href="structsigc_1_1unwrap__reference.html#af35cad963fc073623282a2fb9c81f02a">unwrap_reference<T_type>::type</a>.</p>
-<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000009">Deprecated:</a></b></dt><dd>Use C++11 lambda expressions instead of libsigc++ lambdas.</dd></dl>
-</div><h2 class="groupheader">Member Typedef Documentation</h2>
-<a class="anchor" id="aadfb5741dde3970115b666c4e033ce2f"></a>
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template <class T_type > </div>
- <table class="memname">
- <tr>
- <td class="memname">typedef <a class="el" href="structsigc_1_1unwrap__reference.html">unwrap_reference</a><T_type>::<a class="el" href="structsigc_1_1unwrap__lambda__type.html#aadfb5741dde3970115b666c4e033ce2f">type</a> <a class="el" href="structsigc_1_1unwrap__lambda__type.html">sigc::unwrap_lambda_type</a>< T_type >::<a class="el" href="structsigc_1_1unwrap__lambda__type.html#aadfb5741dde3970115b666c4e033ce2f">type</a></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.9.1
-</small></address>
-</body>
-</html>
+++ /dev/null
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.9.1"/>
-<title>libsigc++: Member List</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-<link href="doxygen-extra.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.9.1 -->
- <div id="navrow1" class="tabs">
- <ul class="tablist">
- <li><a href="index.html"><span>Main Page</span></a></li>
- <li><a href="pages.html"><span>Related Pages</span></a></li>
- <li><a href="modules.html"><span>Modules</span></a></li>
- <li><a href="namespaces.html"><span>Namespaces</span></a></li>
- <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
- </ul>
- </div>
- <div id="navrow2" class="tabs2">
- <ul class="tablist">
- <li><a href="annotated.html"><span>Class List</span></a></li>
- <li><a href="classes.html"><span>Class Index</span></a></li>
- <li><a href="inherits.html"><span>Class Hierarchy</span></a></li>
- <li><a href="functions.html"><span>Class Members</span></a></li>
- </ul>
- </div>
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="namespacesigc.html">sigc</a></li><li class="navelem"><a class="el" href="structsigc_1_1unwrap__lambda__type_3_01lambda_3_01T__type_01_4_01_4.html">unwrap_lambda_type< lambda< T_type > ></a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sigc::unwrap_lambda_type< lambda< T_type > > Member List</div> </div>
-</div><!--header-->
-<div class="contents">
-
-<p>This is the complete list of members for <a class="el" href="structsigc_1_1unwrap__lambda__type_3_01lambda_3_01T__type_01_4_01_4.html">sigc::unwrap_lambda_type< lambda< T_type > ></a>, including all inherited members.</p>
-<table class="directory">
- <tr class="even"><td class="entry"><a class="el" href="structsigc_1_1unwrap__lambda__type_3_01lambda_3_01T__type_01_4_01_4.html#a533dabb2c57ca7d6f4cbfc4c7b915d84">type</a> typedef</td><td class="entry"><a class="el" href="structsigc_1_1unwrap__lambda__type_3_01lambda_3_01T__type_01_4_01_4.html">sigc::unwrap_lambda_type< lambda< T_type > ></a></td><td class="entry"></td></tr>
-</table></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.9.1
-</small></address>
-</body>
-</html>
+++ /dev/null
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.9.1"/>
-<title>libsigc++: sigc::unwrap_lambda_type< lambda< T_type > > Struct Template Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-<link href="doxygen-extra.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.9.1 -->
- <div id="navrow1" class="tabs">
- <ul class="tablist">
- <li><a href="index.html"><span>Main Page</span></a></li>
- <li><a href="pages.html"><span>Related Pages</span></a></li>
- <li><a href="modules.html"><span>Modules</span></a></li>
- <li><a href="namespaces.html"><span>Namespaces</span></a></li>
- <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
- </ul>
- </div>
- <div id="navrow2" class="tabs2">
- <ul class="tablist">
- <li><a href="annotated.html"><span>Class List</span></a></li>
- <li><a href="classes.html"><span>Class Index</span></a></li>
- <li><a href="inherits.html"><span>Class Hierarchy</span></a></li>
- <li><a href="functions.html"><span>Class Members</span></a></li>
- </ul>
- </div>
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="namespacesigc.html">sigc</a></li><li class="navelem"><a class="el" href="structsigc_1_1unwrap__lambda__type_3_01lambda_3_01T__type_01_4_01_4.html">unwrap_lambda_type< lambda< T_type > ></a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="summary">
-<a href="#pub-types">Public Types</a> |
-<a href="structsigc_1_1unwrap__lambda__type_3_01lambda_3_01T__type_01_4_01_4-members.html">List of all members</a> </div>
- <div class="headertitle">
-<div class="title">sigc::unwrap_lambda_type< lambda< T_type > > Struct Template Reference<div class="ingroups"><a class="el" href="group__lambdas.html">Lambdas</a></div></div> </div>
-</div><!--header-->
-<div class="contents">
-
-<p>Deduces the type of the object stored in an object of the passed lambda type.
- <a href="structsigc_1_1unwrap__lambda__type_3_01lambda_3_01T__type_01_4_01_4.html#details">More...</a></p>
-
-<p><code>#include <sigc++/adaptors/lambda/base.h></code></p>
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
-Public Types</h2></td></tr>
-<tr class="memitem:a533dabb2c57ca7d6f4cbfc4c7b915d84"><td class="memItemLeft" align="right" valign="top">typedef T_type </td><td class="memItemRight" valign="bottom"><a class="el" href="structsigc_1_1unwrap__lambda__type_3_01lambda_3_01T__type_01_4_01_4.html#a533dabb2c57ca7d6f4cbfc4c7b915d84">type</a></td></tr>
-<tr class="separator:a533dabb2c57ca7d6f4cbfc4c7b915d84"><td class="memSeparator" colspan="2"> </td></tr>
-</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<div class="textblock"><h3>template<class T_type><br />
-struct sigc::unwrap_lambda_type< lambda< T_type > ></h3>
-
-<p>Deduces the type of the object stored in an object of the passed lambda type. </p>
-<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000010">Deprecated:</a></b></dt><dd>Use C++11 lambda expressions instead of libsigc++ lambdas.</dd></dl>
-</div><h2 class="groupheader">Member Typedef Documentation</h2>
-<a class="anchor" id="a533dabb2c57ca7d6f4cbfc4c7b915d84"></a>
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template <class T_type > </div>
- <table class="memname">
- <tr>
- <td class="memname">typedef T_type <a class="el" href="structsigc_1_1unwrap__lambda__type.html">sigc::unwrap_lambda_type</a>< <a class="el" href="structsigc_1_1lambda.html">lambda</a>< T_type > >::<a class="el" href="structsigc_1_1unwrap__lambda__type_3_01lambda_3_01T__type_01_4_01_4.html#a533dabb2c57ca7d6f4cbfc4c7b915d84">type</a></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.9.1
-</small></address>
-</body>
-</html>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
-template <class T_type> </div>
+template <class T_type > </div>
<table class="memname">
<tr>
<td class="memname">typedef T_type <a class="el" href="structsigc_1_1unwrap__reference.html">sigc::unwrap_reference</a>< T_type >::<a class="el" href="structsigc_1_1unwrap__reference.html#af35cad963fc073623282a2fb9c81f02a">type</a></td>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libsigc++
-  <span id="projectnumber">2.4.1</span>
+  <span id="projectnumber">2.5.1</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Feb 28 2015 09:50:30 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Sat Jul 18 2015 10:36:54 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<sub name="bind(), bind_return()" link="group__bind.html"/>
<sub name="compose()" link="group__compose.html"/>
<sub name="exception_catch()" link="group__exception__catch.html"/>
- <sub name="group()" link="group__group__.html"/>
<sub name="hide(), hide_return()" link="group__hide.html"/>
<sub name="retype(), retype_return()" link="group__retype.html"/>
<sub name="track_obj()" link="group__track__obj.html"/>
<sub name="I/O operators for bitsets." link="a01684.html"/>
<sub name="Iterators" link="a01679.html"/>
<sub name="Iterator Tags" link="a01680.html"/>
- <sub name="Lambdas" link="group__lambdas.html">
- <sub name="group()" link="group__group__.html"/>
- </sub>
<sub name="List-Based" link="a01691.html"/>
<sub name="Locales" link="a01666.html"/>
<sub name="Mathematical Special Functions" link="a01683.html"/>
<sub name="__gnu_pbds::detail" link="a00213.html"/>
<sub name="__gnu_profile" link="a01612.html"/>
<sub name="__gnu_sequential" link="a01613.html"/>
- <sub name="lambda< T_type1 >" link="structsigc_1_1lambda.html"/>
- <sub name="lambda< T_type2 >" link="structsigc_1_1lambda.html"/>
- <sub name="lambda< T_type3 >" link="structsigc_1_1lambda.html"/>
<sub name="limit_reference< T_obj >" link="classsigc_1_1limit__reference.html"/>
<sub name="limit_reference< T_wrapped >" link="classsigc_1_1limit__reference.html"/>
<sub name="sigc" link="namespacesigc.html">
<sub name="bound_volatile_mem_functor5" link="classsigc_1_1bound__volatile__mem__functor5.html"/>
<sub name="bound_volatile_mem_functor6" link="classsigc_1_1bound__volatile__mem__functor6.html"/>
<sub name="bound_volatile_mem_functor7" link="classsigc_1_1bound__volatile__mem__functor7.html"/>
+ <sub name="can_deduce_result_type_with_decltype" link="classsigc_1_1can__deduce__result__type__with__decltype.html"/>
<sub name="compose1_functor" link="structsigc_1_1compose1__functor.html"/>
<sub name="compose2_functor" link="structsigc_1_1compose2__functor.html"/>
<sub name="connection" link="structsigc_1_1connection.html"/>
<sub name="hide_functor<-1, T_functor >" link="structsigc_1_1hide__functor_3-1_00_01T__functor_01_4.html"/>
<sub name="is_base_and_derived" link="structsigc_1_1is__base__and__derived.html"/>
<sub name="is_base_and_derived< T_base, T_base >" link="structsigc_1_1is__base__and__derived_3_01T__base_00_01T__base_01_4.html"/>
- <sub name="lambda" link="structsigc_1_1lambda.html"/>
- <sub name="lambda_base" link="structsigc_1_1lambda__base.html"/>
- <sub name="lambda_group1" link="structsigc_1_1lambda__group1.html"/>
- <sub name="lambda_group2" link="structsigc_1_1lambda__group2.html"/>
- <sub name="lambda_group3" link="structsigc_1_1lambda__group3.html"/>
<sub name="limit_reference" link="classsigc_1_1limit__reference.html"/>
<sub name="limit_reference< T_type, true >" link="classsigc_1_1limit__reference_3_01T__type_00_01true_01_4.html"/>
<sub name="mem_functor0" link="classsigc_1_1mem__functor0.html"/>
<sub name="type_trait< T_type & >" link="structsigc_1_1type__trait_3_01T__type_01_6_01_4.html"/>
<sub name="type_trait< T_type[N]>" link="structsigc_1_1type__trait_3_01T__type[N]_4.html"/>
<sub name="type_trait< void >" link="structsigc_1_1type__trait_3_01void_01_4.html"/>
- <sub name="unwrap_lambda_type" link="structsigc_1_1unwrap__lambda__type.html"/>
- <sub name="unwrap_lambda_type< lambda< T_type > >" link="structsigc_1_1unwrap__lambda__type_3_01lambda_3_01T__type_01_4_01_4.html"/>
<sub name="unwrap_reference" link="structsigc_1_1unwrap__reference.html"/>
<sub name="unwrap_reference< const_reference_wrapper< T_type > >" link="structsigc_1_1unwrap__reference_3_01const__reference__wrapper_3_01T__type_01_4_01_4.html"/>
<sub name="unwrap_reference< reference_wrapper< T_type > >" link="structsigc_1_1unwrap__reference_3_01reference__wrapper_3_01T__type_01_4_01_4.html"/>
<keyword type="function" name="const_volatile_limit_reference< T_obj >::const_volatile_limit_reference" link="classsigc_1_1const__volatile__limit__reference.html#a9a01809bae79cb1b13ee50ce9d84dcb8"/>
<keyword type="function" name="const_volatile_limit_reference< T_obj >::invoke" link="classsigc_1_1const__volatile__limit__reference.html#a541dc87d0bda7a418aaa3dca1f9928da"/>
<keyword type="function" name="const_volatile_limit_reference< T_obj >::visit" link="classsigc_1_1const__volatile__limit__reference.html#ab3ce1b09cad7a91c24c510e5915e4b7e"/>
- <keyword type="struct" name="lambda< T_type1 >" link="structsigc_1_1lambda.html"/>
- <keyword type="typedef" name="lambda< T_type1 >::self" link="structsigc_1_1lambda.html#ad25413132b4ce715f39e412fb0fc8945"/>
- <keyword type="function" name="lambda< T_type1 >::lambda" link="structsigc_1_1lambda.html#a98c9c8c66727f22d6f53358d48ddd949"/>
- <keyword type="function" name="lambda< T_type1 >::lambda" link="structsigc_1_1lambda.html#a91e27c4fdac4597967558b32559bee90"/>
- <keyword type="function" name="lambda< T_type1 >::operator=" link="structsigc_1_1lambda.html#aa49660a600600aa81efce5b6abfe5972"/>
- <keyword type="function" name="lambda< T_type1 >::operator[]" link="structsigc_1_1lambda.html#a8c3c0659edeb1fdd4108e03be8ba0345"/>
- <keyword type="struct" name="lambda< T_type2 >" link="structsigc_1_1lambda.html"/>
- <keyword type="typedef" name="lambda< T_type2 >::self" link="structsigc_1_1lambda.html#ad25413132b4ce715f39e412fb0fc8945"/>
- <keyword type="function" name="lambda< T_type2 >::lambda" link="structsigc_1_1lambda.html#a98c9c8c66727f22d6f53358d48ddd949"/>
- <keyword type="function" name="lambda< T_type2 >::lambda" link="structsigc_1_1lambda.html#a91e27c4fdac4597967558b32559bee90"/>
- <keyword type="function" name="lambda< T_type2 >::operator=" link="structsigc_1_1lambda.html#aa49660a600600aa81efce5b6abfe5972"/>
- <keyword type="function" name="lambda< T_type2 >::operator[]" link="structsigc_1_1lambda.html#a8c3c0659edeb1fdd4108e03be8ba0345"/>
- <keyword type="struct" name="lambda< T_type3 >" link="structsigc_1_1lambda.html"/>
- <keyword type="typedef" name="lambda< T_type3 >::self" link="structsigc_1_1lambda.html#ad25413132b4ce715f39e412fb0fc8945"/>
- <keyword type="function" name="lambda< T_type3 >::lambda" link="structsigc_1_1lambda.html#a98c9c8c66727f22d6f53358d48ddd949"/>
- <keyword type="function" name="lambda< T_type3 >::lambda" link="structsigc_1_1lambda.html#a91e27c4fdac4597967558b32559bee90"/>
- <keyword type="function" name="lambda< T_type3 >::operator=" link="structsigc_1_1lambda.html#aa49660a600600aa81efce5b6abfe5972"/>
- <keyword type="function" name="lambda< T_type3 >::operator[]" link="structsigc_1_1lambda.html#a8c3c0659edeb1fdd4108e03be8ba0345"/>
<keyword type="struct" name="limit_reference< T_obj >" link="classsigc_1_1limit__reference.html"/>
<keyword type="function" name="limit_reference< T_obj >::limit_reference" link="classsigc_1_1limit__reference.html#a58bf17e1eaa63d86336c831fa885bc66"/>
<keyword type="function" name="limit_reference< T_obj >::invoke" link="classsigc_1_1limit__reference.html#a951ae1d15397406945d4a6b67f30936f"/>
<keyword type="function" name="sigc::bound_volatile_mem_functor7::bound_volatile_mem_functor7" link="classsigc_1_1bound__volatile__mem__functor7.html#a18f28191685aa86228328e7016b5c803"/>
<keyword type="function" name="sigc::bound_volatile_mem_functor7::bound_volatile_mem_functor7" link="classsigc_1_1bound__volatile__mem__functor7.html#a3109683023c9e82a586660399b12769e"/>
<keyword type="function" name="sigc::bound_volatile_mem_functor7::operator()" link="classsigc_1_1bound__volatile__mem__functor7.html#abb41ad4fced6ba1de91d0ffbb58fe2de"/>
+ <keyword type="struct" name="sigc::can_deduce_result_type_with_decltype" link="classsigc_1_1can__deduce__result__type__with__decltype.html"/>
<keyword type="struct" name="sigc::compose1_functor" link="structsigc_1_1compose1__functor.html"/>
<keyword type="typedef" name="sigc::compose1_functor::adaptor_type" link="structsigc_1_1compose1__functor.html#a90d506f177dca8afeaef61b6b5956541"/>
<keyword type="typedef" name="sigc::compose1_functor::getter_type" link="structsigc_1_1compose1__functor.html#ad54c2d62658fb7a47da41df0ccfc618c"/>
<keyword type="function" name="sigc::exception_catch_functor< T_functor, T_catcher, void >::operator()" link="structsigc_1_1exception__catch__functor_3_01T__functor_00_01T__catcher_00_01void_01_4.html#ab4d0d68e2dd1d356ff932ac2ca846a0c"/>
<keyword type="struct" name="sigc::functor_base" link="structsigc_1_1functor__base.html"/>
<keyword type="struct" name="sigc::functor_trait" link="structsigc_1_1functor__trait.html"/>
- <keyword type="typedef" name="sigc::functor_trait::functor_type" link="structsigc_1_1functor__trait.html#aaa889e97aa5a7a6af00f500df7d143e9"/>
- <keyword type="typedef" name="sigc::functor_trait::result_type" link="structsigc_1_1functor__trait.html#a90c4188e1d98bdf394d77a3b1b1c065f"/>
+ <keyword type="typedef" name="sigc::functor_trait::functor_type" link="structsigc_1_1functor__trait.html#ac779b3d3d04e78d57b6b2ae4545b1667"/>
+ <keyword type="typedef" name="sigc::functor_trait::result_type" link="structsigc_1_1functor__trait.html#af1324bf0d3cec3d1f2e39e932b228d6d"/>
<keyword type="struct" name="sigc::hide_functor" link="structsigc_1_1hide__functor.html"/>
<keyword type="struct" name="sigc::hide_functor< 0, T_functor >" link="structsigc_1_1hide__functor_3_010_00_01T__functor_01_4.html"/>
<keyword type="typedef" name="sigc::hide_functor< 0, T_functor >::adaptor_type" link="structsigc_1_1hide__functor_3_010_00_01T__functor_01_4.html#a33b1c4635aad21aac771627a9a9fe60f"/>
<keyword type="function" name="sigc::hide_functor<-1, T_functor >::operator()" link="structsigc_1_1hide__functor_3-1_00_01T__functor_01_4.html#a3ab506b688835f9545dc018142cc728e"/>
<keyword type="struct" name="sigc::is_base_and_derived" link="structsigc_1_1is__base__and__derived.html"/>
<keyword type="struct" name="sigc::is_base_and_derived< T_base, T_base >" link="structsigc_1_1is__base__and__derived_3_01T__base_00_01T__base_01_4.html"/>
- <keyword type="struct" name="sigc::lambda" link="structsigc_1_1lambda.html"/>
- <keyword type="typedef" name="sigc::lambda::self" link="structsigc_1_1lambda.html#ad25413132b4ce715f39e412fb0fc8945"/>
- <keyword type="function" name="sigc::lambda::lambda" link="structsigc_1_1lambda.html#a98c9c8c66727f22d6f53358d48ddd949"/>
- <keyword type="function" name="sigc::lambda::lambda" link="structsigc_1_1lambda.html#a91e27c4fdac4597967558b32559bee90"/>
- <keyword type="function" name="sigc::lambda::operator=" link="structsigc_1_1lambda.html#aa49660a600600aa81efce5b6abfe5972"/>
- <keyword type="function" name="sigc::lambda::operator[]" link="structsigc_1_1lambda.html#a8c3c0659edeb1fdd4108e03be8ba0345"/>
- <keyword type="struct" name="sigc::lambda_base" link="structsigc_1_1lambda__base.html"/>
- <keyword type="struct" name="sigc::lambda_group1" link="structsigc_1_1lambda__group1.html"/>
- <keyword type="typedef" name="sigc::lambda_group1::functor_type" link="structsigc_1_1lambda__group1.html#a33608fda37bc84ec8a336f9d52d4924e"/>
- <keyword type="typedef" name="sigc::lambda_group1::result_type" link="structsigc_1_1lambda__group1.html#ac602edad96df05d967b6a5c4936f0ac8"/>
- <keyword type="typedef" name="sigc::lambda_group1::value1_type" link="structsigc_1_1lambda__group1.html#a4ba1e4dee915b4bd089d34337b25583b"/>
- <keyword type="function" name="sigc::lambda_group1::lambda_group1" link="structsigc_1_1lambda__group1.html#a306d752cc63d4ad177b30da0072b1ff6"/>
- <keyword type="function" name="sigc::lambda_group1::operator()" link="structsigc_1_1lambda__group1.html#adba4263bed98048c83b986959155c78e"/>
- <keyword type="function" name="sigc::lambda_group1::operator()" link="structsigc_1_1lambda__group1.html#a1eb3b797403d8164c4bfb55107f4d60f"/>
- <keyword type="function" name="sigc::lambda_group1::operator()" link="structsigc_1_1lambda__group1.html#a90a15e28628a4f0cbd2d3c59844ec7e8"/>
- <keyword type="function" name="sigc::lambda_group1::operator()" link="structsigc_1_1lambda__group1.html#a3ddcff46a3cbcbdcfa4573e68b12c48c"/>
- <keyword type="function" name="sigc::lambda_group1::operator()" link="structsigc_1_1lambda__group1.html#af8414fd8e83ffad14d46c7a563686b3f"/>
- <keyword type="function" name="sigc::lambda_group1::operator()" link="structsigc_1_1lambda__group1.html#a8bc6a42b4fae024267b1315553ac9472"/>
- <keyword type="function" name="sigc::lambda_group1::operator()" link="structsigc_1_1lambda__group1.html#a3c451b5f8f1a527682cd886747c444de"/>
- <keyword type="function" name="sigc::lambda_group1::operator()" link="structsigc_1_1lambda__group1.html#a8e78e9169e8c1150ad3e6489b9719e83"/>
- <keyword type="struct" name="sigc::lambda_group2" link="structsigc_1_1lambda__group2.html"/>
- <keyword type="typedef" name="sigc::lambda_group2::functor_type" link="structsigc_1_1lambda__group2.html#a97ac691a597ef2063a4d0c53b99c28c5"/>
- <keyword type="typedef" name="sigc::lambda_group2::result_type" link="structsigc_1_1lambda__group2.html#acedf5bd987b41b0a975aece3f91562c6"/>
- <keyword type="typedef" name="sigc::lambda_group2::value1_type" link="structsigc_1_1lambda__group2.html#aba1e85dabda9b2c0fffbf41d2cc83064"/>
- <keyword type="typedef" name="sigc::lambda_group2::value2_type" link="structsigc_1_1lambda__group2.html#a48051f2cfec13546be194319afc6678f"/>
- <keyword type="function" name="sigc::lambda_group2::lambda_group2" link="structsigc_1_1lambda__group2.html#a2d29af15fc0cbad49c426753e9d218e4"/>
- <keyword type="function" name="sigc::lambda_group2::operator()" link="structsigc_1_1lambda__group2.html#a84d9692718e446306a763355303c6e52"/>
- <keyword type="function" name="sigc::lambda_group2::operator()" link="structsigc_1_1lambda__group2.html#aaba8dea339e534f2383cf83f7877a3d0"/>
- <keyword type="function" name="sigc::lambda_group2::operator()" link="structsigc_1_1lambda__group2.html#ad98d956665fb748da9b48d1685421907"/>
- <keyword type="function" name="sigc::lambda_group2::operator()" link="structsigc_1_1lambda__group2.html#a2ff6da0bfb93be36b2b5c4d1e6b1529e"/>
- <keyword type="function" name="sigc::lambda_group2::operator()" link="structsigc_1_1lambda__group2.html#a9c9b6b7a1a2b15d888044f9577b4b5da"/>
- <keyword type="function" name="sigc::lambda_group2::operator()" link="structsigc_1_1lambda__group2.html#a1bd07e1cc8400c3ee2dd5a9ef45129ec"/>
- <keyword type="function" name="sigc::lambda_group2::operator()" link="structsigc_1_1lambda__group2.html#a7d35c350f6255628bda5a4730169eed8"/>
- <keyword type="function" name="sigc::lambda_group2::operator()" link="structsigc_1_1lambda__group2.html#afaf7c41dd05dbc517170c43deafd0473"/>
- <keyword type="struct" name="sigc::lambda_group3" link="structsigc_1_1lambda__group3.html"/>
- <keyword type="typedef" name="sigc::lambda_group3::functor_type" link="structsigc_1_1lambda__group3.html#a33feec6b2637fb5bea3f7a7f7c6e2142"/>
- <keyword type="typedef" name="sigc::lambda_group3::result_type" link="structsigc_1_1lambda__group3.html#afb1ec9fdf67e5c37df9f94381e662322"/>
- <keyword type="typedef" name="sigc::lambda_group3::value1_type" link="structsigc_1_1lambda__group3.html#a9b336d0eadd9475f2e45b6aedfe2e97d"/>
- <keyword type="typedef" name="sigc::lambda_group3::value2_type" link="structsigc_1_1lambda__group3.html#af4e66634f79c2c8c1f5e64d586816234"/>
- <keyword type="typedef" name="sigc::lambda_group3::value3_type" link="structsigc_1_1lambda__group3.html#a7ea1e7fea0a9522ccacf1e2ab36fd919"/>
- <keyword type="function" name="sigc::lambda_group3::lambda_group3" link="structsigc_1_1lambda__group3.html#a10f0e874c01605f803f80e106eb49691"/>
- <keyword type="function" name="sigc::lambda_group3::operator()" link="structsigc_1_1lambda__group3.html#a1724e7b0036ce70ab6076f2bcccc9c4e"/>
- <keyword type="function" name="sigc::lambda_group3::operator()" link="structsigc_1_1lambda__group3.html#ad7b7fbb96ae7f5cf4fa5332b8d3098f7"/>
- <keyword type="function" name="sigc::lambda_group3::operator()" link="structsigc_1_1lambda__group3.html#aa8b978d18286156ad9c359280101bc70"/>
- <keyword type="function" name="sigc::lambda_group3::operator()" link="structsigc_1_1lambda__group3.html#af82b660c1cffa35c7b12b9a2d39799e3"/>
- <keyword type="function" name="sigc::lambda_group3::operator()" link="structsigc_1_1lambda__group3.html#a372d4f1c91828696c70662e524dc05b7"/>
- <keyword type="function" name="sigc::lambda_group3::operator()" link="structsigc_1_1lambda__group3.html#a9fda2de19e0c1c70d76fc3c569fb8970"/>
- <keyword type="function" name="sigc::lambda_group3::operator()" link="structsigc_1_1lambda__group3.html#a0d42748af9f046a92e13078fd6de1af4"/>
- <keyword type="function" name="sigc::lambda_group3::operator()" link="structsigc_1_1lambda__group3.html#a50b0f20feaee68e481a1ff40aa3b757b"/>
<keyword type="struct" name="sigc::limit_reference" link="classsigc_1_1limit__reference.html"/>
<keyword type="function" name="sigc::limit_reference::limit_reference" link="classsigc_1_1limit__reference.html#a58bf17e1eaa63d86336c831fa885bc66"/>
<keyword type="function" name="sigc::limit_reference::invoke" link="classsigc_1_1limit__reference.html#a951ae1d15397406945d4a6b67f30936f"/>
<keyword type="typedef" name="sigc::type_trait< void >::pointer" link="structsigc_1_1type__trait_3_01void_01_4.html#a69243f1c0d0e537e066632c1b6a107f9"/>
<keyword type="typedef" name="sigc::type_trait< void >::take" link="structsigc_1_1type__trait_3_01void_01_4.html#a40d187392469ee48d24838ef38531b90"/>
<keyword type="typedef" name="sigc::type_trait< void >::type" link="structsigc_1_1type__trait_3_01void_01_4.html#add6e3395f22d8169275eafdbb3035fbe"/>
- <keyword type="struct" name="sigc::unwrap_lambda_type" link="structsigc_1_1unwrap__lambda__type.html"/>
- <keyword type="typedef" name="sigc::unwrap_lambda_type::type" link="structsigc_1_1unwrap__lambda__type.html#aadfb5741dde3970115b666c4e033ce2f"/>
- <keyword type="struct" name="sigc::unwrap_lambda_type< lambda< T_type > >" link="structsigc_1_1unwrap__lambda__type_3_01lambda_3_01T__type_01_4_01_4.html"/>
- <keyword type="typedef" name="sigc::unwrap_lambda_type< lambda< T_type > >::type" link="structsigc_1_1unwrap__lambda__type_3_01lambda_3_01T__type_01_4_01_4.html#a533dabb2c57ca7d6f4cbfc4c7b915d84"/>
<keyword type="struct" name="sigc::unwrap_reference" link="structsigc_1_1unwrap__reference.html"/>
<keyword type="typedef" name="sigc::unwrap_reference::type" link="structsigc_1_1unwrap__reference.html#af35cad963fc073623282a2fb9c81f02a"/>
<keyword type="struct" name="sigc::unwrap_reference< const_reference_wrapper< T_type > >" link="structsigc_1_1unwrap__reference_3_01const__reference__wrapper_3_01T__type_01_4_01_4.html"/>
<keyword type="function" name="sigc::compose" link="group__compose.html#ga34cf5da8f6323bfdc41bc7113d6ad20a"/>
<keyword type="function" name="sigc::compose" link="group__compose.html#ga4abf2a45eb2307a3dc5d870c86b0450d"/>
<keyword type="function" name="sigc::exception_catch" link="namespacesigc.html#a0ae3b8a1ba26920cee4d7d9df2c39ed9"/>
- <keyword type="function" name="sigc::group" link="group__lambdas.html#ga56a5905d189af5fab33d8c456f097a29"/>
- <keyword type="function" name="sigc::group" link="group__lambdas.html#gaadbc8eaf9aa10213c228b53e69f3fead"/>
- <keyword type="function" name="sigc::group" link="group__lambdas.html#ga993b22c0e13eb536edd9bcc3afd6d949"/>
<keyword type="function" name="sigc::hide" link="group__hide.html#gaf2cefea3a99acd44f68121424103172d"/>
<keyword type="function" name="sigc::hide" link="group__hide.html#gacbbacd3553268d85b95e3a85aefb67e5"/>
<keyword type="function" name="sigc::hide_return" link="group__hide.html#gae4e6f5491471c12440f1c5d480726b98"/>
<keyword type="function" name="sigc::track_obj" link="group__track__obj.html#ga5ea3e9f52643d7ab1bcfa4f419e7d38f"/>
<keyword type="function" name="sigc::unwrap" link="namespacesigc.html#a3b5529822bdaf60f07456633e0f40282"/>
<keyword type="function" name="sigc::unwrap" link="namespacesigc.html#a2f758c77e8743093f938d0c5dbf06778"/>
- <keyword type="function" name="sigc::unwrap_lambda_value" link="group__lambdas.html#ga5fbbd890bbed369b5a77ef375a34ab47"/>
- <keyword type="function" name="sigc::unwrap_lambda_value" link="group__lambdas.html#ga23fcae89c45fa2f28ed2ed421b2249ca"/>
- <keyword type="function" name="sigc::unwrap_lambda_value" link="group__lambdas.html#ga075ab6d364e385be8ff683fb6c24151f"/>
- <keyword type="function" name="sigc::var" link="group__lambdas.html#ga8e560e6113af0c1e9f462471c1d502d4"/>
- <keyword type="function" name="sigc::var" link="group__lambdas.html#ga5c51a04bb54990fe3d508fa06e574249"/>
<keyword type="function" name="sigc::visit_each" link="group__sigcfunctors.html#ga64cb7832acc1e58efb5ffe0b4f5e9404"/>
<keyword type="function" name="sigc::visit_each_type" link="group__sigcfunctors.html#gada222d975b87d64cfa7a7f29244ae587"/>
</functions>
<tagfile>
<compound kind="file">
<name>adaptor_trait.h</name>
- <path>/home/kjell/checkout/gnome/libsigc++2/sigc++/adaptors/</path>
+ <path>/home/murrayc/checkout/gnome/libsigc++2/sigc++/adaptors/</path>
<filename>adaptor__trait_8h</filename>
<class kind="struct">sigc::adaptor_functor</class>
<class kind="struct">sigc::adaptor_trait</class>
</compound>
<compound kind="file">
<name>adaptors.h</name>
- <path>/home/kjell/checkout/gnome/libsigc++2/sigc++/adaptors/</path>
+ <path>/home/murrayc/checkout/gnome/libsigc++2/sigc++/adaptors/</path>
<filename>adaptors_8h</filename>
</compound>
<compound kind="file">
<name>bound_argument.h</name>
- <path>/home/kjell/checkout/gnome/libsigc++2/sigc++/adaptors/</path>
+ <path>/home/murrayc/checkout/gnome/libsigc++2/sigc++/adaptors/</path>
<filename>bound__argument_8h</filename>
<class kind="class">sigc::bound_argument</class>
<class kind="class">sigc::bound_argument< const_reference_wrapper< T_wrapped > ></class>
</compound>
<compound kind="file">
<name>compose.h</name>
- <path>/home/kjell/checkout/gnome/libsigc++2/sigc++/adaptors/</path>
+ <path>/home/murrayc/checkout/gnome/libsigc++2/sigc++/adaptors/</path>
<filename>compose_8h</filename>
<class kind="struct">sigc::compose1_functor</class>
<class kind="struct">sigc::compose2_functor</class>
</compound>
<compound kind="file">
<name>deduce_result_type.h</name>
- <path>/home/kjell/checkout/gnome/libsigc++2/sigc++/adaptors/</path>
+ <path>/home/murrayc/checkout/gnome/libsigc++2/sigc++/adaptors/</path>
<filename>deduce__result__type_8h</filename>
<class kind="struct">sigc::adaptor_base</class>
<class kind="struct">sigc::deduce_result_type</class>
</compound>
<compound kind="file">
<name>exception_catch.h</name>
- <path>/home/kjell/checkout/gnome/libsigc++2/sigc++/adaptors/</path>
+ <path>/home/murrayc/checkout/gnome/libsigc++2/sigc++/adaptors/</path>
<filename>exception__catch_8h</filename>
<class kind="struct">sigc::exception_catch_functor</class>
<class kind="struct">sigc::exception_catch_functor< T_functor, T_catcher, void ></class>
<arglist>(const T_functor &_A_func, const T_catcher &_A_catcher)</arglist>
</member>
</compound>
- <compound kind="file">
- <name>base.h</name>
- <path>/home/kjell/checkout/gnome/libsigc++2/sigc++/adaptors/lambda/</path>
- <filename>base_8h</filename>
- <class kind="struct">sigc::lambda</class>
- <class kind="struct">sigc::lambda_base</class>
- <class kind="struct">sigc::unwrap_lambda_type</class>
- <class kind="struct">sigc::unwrap_lambda_type< lambda< T_type > ></class>
- <namespace>sigc</namespace>
- <member kind="function">
- <type>T_type &</type>
- <name>unwrap_lambda_value</name>
- <anchorfile>group__lambdas.html</anchorfile>
- <anchor>ga5fbbd890bbed369b5a77ef375a34ab47</anchor>
- <arglist>(T_type &a)</arglist>
- </member>
- <member kind="function">
- <type>const T_type &</type>
- <name>unwrap_lambda_value</name>
- <anchorfile>group__lambdas.html</anchorfile>
- <anchor>ga23fcae89c45fa2f28ed2ed421b2249ca</anchor>
- <arglist>(const T_type &a)</arglist>
- </member>
- <member kind="function">
- <type>const T_type &</type>
- <name>unwrap_lambda_value</name>
- <anchorfile>group__lambdas.html</anchorfile>
- <anchor>ga075ab6d364e385be8ff683fb6c24151f</anchor>
- <arglist>(const lambda< T_type > &a)</arglist>
- </member>
- <member kind="function">
- <type>lambda< T_type & ></type>
- <name>var</name>
- <anchorfile>group__lambdas.html</anchorfile>
- <anchor>ga8e560e6113af0c1e9f462471c1d502d4</anchor>
- <arglist>(T_type &v)</arglist>
- </member>
- <member kind="function">
- <type>lambda< const T_type & ></type>
- <name>var</name>
- <anchorfile>group__lambdas.html</anchorfile>
- <anchor>ga5c51a04bb54990fe3d508fa06e574249</anchor>
- <arglist>(const T_type &v)</arglist>
- </member>
- </compound>
- <compound kind="file">
- <name>group.h</name>
- <path>/home/kjell/checkout/gnome/libsigc++2/sigc++/adaptors/lambda/</path>
- <filename>group_8h</filename>
- <class kind="struct">sigc::lambda_group1</class>
- <class kind="struct">sigc::lambda_group2</class>
- <class kind="struct">sigc::lambda_group3</class>
- <namespace>sigc</namespace>
- <member kind="function">
- <type>lambda< lambda_group1< T_functor, typename unwrap_reference< T_type1 >::type > ></type>
- <name>group</name>
- <anchorfile>group__lambdas.html</anchorfile>
- <anchor>ga56a5905d189af5fab33d8c456f097a29</anchor>
- <arglist>(const T_functor &_A_func, T_type1 _A_1)</arglist>
- </member>
- <member kind="function">
- <type>lambda< lambda_group2< T_functor, typename unwrap_reference< T_type1 >::type, typename unwrap_reference< T_type2 >::type > ></type>
- <name>group</name>
- <anchorfile>group__lambdas.html</anchorfile>
- <anchor>gaadbc8eaf9aa10213c228b53e69f3fead</anchor>
- <arglist>(const T_functor &_A_func, T_type1 _A_1, T_type2 _A_2)</arglist>
- </member>
- <member kind="function">
- <type>lambda< lambda_group3< T_functor, typename unwrap_reference< T_type1 >::type, typename unwrap_reference< T_type2 >::type, typename unwrap_reference< T_type3 >::type > ></type>
- <name>group</name>
- <anchorfile>group__lambdas.html</anchorfile>
- <anchor>ga993b22c0e13eb536edd9bcc3afd6d949</anchor>
- <arglist>(const T_functor &_A_func, T_type1 _A_1, T_type2 _A_2, T_type3 _A_3)</arglist>
- </member>
- </compound>
- <compound kind="file">
- <name>lambda.h</name>
- <path>/home/kjell/checkout/gnome/libsigc++2/sigc++/adaptors/lambda/</path>
- <filename>lambda_8h</filename>
- </compound>
- <compound kind="file">
- <name>operator.h</name>
- <path>/home/kjell/checkout/gnome/libsigc++2/sigc++/adaptors/lambda/</path>
- <filename>operator_8h</filename>
- </compound>
- <compound kind="file">
- <name>select.h</name>
- <path>/home/kjell/checkout/gnome/libsigc++2/sigc++/adaptors/lambda/</path>
- <filename>select_8h</filename>
- <namespace>sigc</namespace>
- </compound>
<compound kind="file">
<name>track_obj.h</name>
- <path>/home/kjell/checkout/gnome/libsigc++2/sigc++/adaptors/</path>
+ <path>/home/murrayc/checkout/gnome/libsigc++2/sigc++/adaptors/</path>
<filename>track__obj_8h</filename>
<class kind="class">sigc::track_obj_functor1</class>
<class kind="class">sigc::track_obj_functor2</class>
</compound>
<compound kind="file">
<name>bind.h</name>
- <path>/home/kjell/checkout/gnome/libsigc++2/sigc++/</path>
+ <path>/home/murrayc/checkout/gnome/libsigc++2/sigc++/</path>
<filename>bind_8h</filename>
</compound>
<compound kind="file">
<name>bind.h</name>
- <path>/home/kjell/checkout/gnome/libsigc++2/sigc++/adaptors/</path>
+ <path>/home/murrayc/checkout/gnome/libsigc++2/sigc++/adaptors/</path>
<filename>adaptors_2bind_8h</filename>
<class kind="struct">sigc::bind_functor</class>
<class kind="struct">sigc::bind_functor< 0, T_functor, T_bound, nil, nil, nil, nil, nil, nil ></class>
</compound>
<compound kind="file">
<name>bind_return.h</name>
- <path>/home/kjell/checkout/gnome/libsigc++2/sigc++/</path>
+ <path>/home/murrayc/checkout/gnome/libsigc++2/sigc++/</path>
<filename>bind__return_8h</filename>
</compound>
<compound kind="file">
<name>bind_return.h</name>
- <path>/home/kjell/checkout/gnome/libsigc++2/sigc++/adaptors/</path>
+ <path>/home/murrayc/checkout/gnome/libsigc++2/sigc++/adaptors/</path>
<filename>adaptors_2bind__return_8h</filename>
<class kind="struct">sigc::bind_return_functor</class>
<namespace>sigc</namespace>
</compound>
<compound kind="file">
<name>class_slot.h</name>
- <path>/home/kjell/checkout/gnome/libsigc++2/sigc++/</path>
+ <path>/home/murrayc/checkout/gnome/libsigc++2/sigc++/</path>
<filename>class__slot_8h</filename>
</compound>
<compound kind="file">
<name>connection.h</name>
- <path>/home/kjell/checkout/gnome/libsigc++2/sigc++/</path>
+ <path>/home/murrayc/checkout/gnome/libsigc++2/sigc++/</path>
<filename>connection_8h</filename>
<class kind="struct">sigc::connection</class>
<namespace>sigc</namespace>
</compound>
<compound kind="file">
<name>functor_trait.h</name>
- <path>/home/kjell/checkout/gnome/libsigc++2/sigc++/functors/</path>
+ <path>/home/murrayc/checkout/gnome/libsigc++2/sigc++/functors/</path>
<filename>functor__trait_8h</filename>
+ <class kind="class">sigc::can_deduce_result_type_with_decltype</class>
<class kind="struct">sigc::functor_base</class>
<class kind="struct">sigc::functor_trait</class>
<class kind="struct">sigc::nil</class>
</compound>
<compound kind="file">
<name>functors.h</name>
- <path>/home/kjell/checkout/gnome/libsigc++2/sigc++/functors/</path>
+ <path>/home/murrayc/checkout/gnome/libsigc++2/sigc++/functors/</path>
<filename>functors_8h</filename>
</compound>
<compound kind="file">
<name>mem_fun.h</name>
- <path>/home/kjell/checkout/gnome/libsigc++2/sigc++/functors/</path>
+ <path>/home/murrayc/checkout/gnome/libsigc++2/sigc++/functors/</path>
<filename>mem__fun_8h</filename>
<class kind="class">sigc::bound_const_mem_functor0</class>
<class kind="class">sigc::bound_const_mem_functor1</class>
</compound>
<compound kind="file">
<name>ptr_fun.h</name>
- <path>/home/kjell/checkout/gnome/libsigc++2/sigc++/functors/</path>
+ <path>/home/murrayc/checkout/gnome/libsigc++2/sigc++/functors/</path>
<filename>ptr__fun_8h</filename>
<class kind="class">sigc::pointer_functor0</class>
<class kind="class">sigc::pointer_functor1</class>
</compound>
<compound kind="file">
<name>slot_base.h</name>
- <path>/home/kjell/checkout/gnome/libsigc++2/sigc++/functors/</path>
+ <path>/home/murrayc/checkout/gnome/libsigc++2/sigc++/functors/</path>
<filename>slot__base_8h</filename>
<class kind="class">sigc::slot_base</class>
<namespace>sigc</namespace>
</compound>
<compound kind="file">
<name>hide.h</name>
- <path>/home/kjell/checkout/gnome/libsigc++2/sigc++/</path>
+ <path>/home/murrayc/checkout/gnome/libsigc++2/sigc++/</path>
<filename>hide_8h</filename>
</compound>
<compound kind="file">
<name>hide.h</name>
- <path>/home/kjell/checkout/gnome/libsigc++2/sigc++/adaptors/</path>
+ <path>/home/murrayc/checkout/gnome/libsigc++2/sigc++/adaptors/</path>
<filename>adaptors_2hide_8h</filename>
<class kind="struct">sigc::hide_functor</class>
<class kind="struct">sigc::hide_functor< 0, T_functor ></class>
</compound>
<compound kind="file">
<name>limit_reference.h</name>
- <path>/home/kjell/checkout/gnome/libsigc++2/sigc++/</path>
+ <path>/home/murrayc/checkout/gnome/libsigc++2/sigc++/</path>
<filename>limit__reference_8h</filename>
<class kind="class">sigc::const_limit_reference</class>
<class kind="class">sigc::const_limit_reference< T_type, true ></class>
</compound>
<compound kind="file">
<name>method_slot.h</name>
- <path>/home/kjell/checkout/gnome/libsigc++2/sigc++/</path>
+ <path>/home/murrayc/checkout/gnome/libsigc++2/sigc++/</path>
<filename>method__slot_8h</filename>
</compound>
<compound kind="file">
<name>object.h</name>
- <path>/home/kjell/checkout/gnome/libsigc++2/sigc++/</path>
+ <path>/home/murrayc/checkout/gnome/libsigc++2/sigc++/</path>
<filename>object_8h</filename>
</compound>
<compound kind="file">
<name>object_slot.h</name>
- <path>/home/kjell/checkout/gnome/libsigc++2/sigc++/</path>
+ <path>/home/murrayc/checkout/gnome/libsigc++2/sigc++/</path>
<filename>object__slot_8h</filename>
</compound>
<compound kind="file">
<name>reference_wrapper.h</name>
- <path>/home/kjell/checkout/gnome/libsigc++2/sigc++/</path>
+ <path>/home/murrayc/checkout/gnome/libsigc++2/sigc++/</path>
<filename>reference__wrapper_8h</filename>
<class kind="struct">sigc::const_reference_wrapper</class>
<class kind="struct">sigc::reference_wrapper</class>
</compound>
<compound kind="file">
<name>retype.h</name>
- <path>/home/kjell/checkout/gnome/libsigc++2/sigc++/</path>
+ <path>/home/murrayc/checkout/gnome/libsigc++2/sigc++/</path>
<filename>retype_8h</filename>
</compound>
<compound kind="file">
<name>retype.h</name>
- <path>/home/kjell/checkout/gnome/libsigc++2/sigc++/adaptors/</path>
+ <path>/home/murrayc/checkout/gnome/libsigc++2/sigc++/adaptors/</path>
<filename>adaptors_2retype_8h</filename>
<class kind="struct">sigc::retype_functor</class>
<namespace>sigc</namespace>
</compound>
<compound kind="file">
<name>retype_return.h</name>
- <path>/home/kjell/checkout/gnome/libsigc++2/sigc++/</path>
+ <path>/home/murrayc/checkout/gnome/libsigc++2/sigc++/</path>
<filename>retype__return_8h</filename>
</compound>
<compound kind="file">
<name>retype_return.h</name>
- <path>/home/kjell/checkout/gnome/libsigc++2/sigc++/adaptors/</path>
+ <path>/home/murrayc/checkout/gnome/libsigc++2/sigc++/adaptors/</path>
<filename>adaptors_2retype__return_8h</filename>
<class kind="struct">sigc::retype_return_functor</class>
<class kind="struct">sigc::retype_return_functor< void, T_functor ></class>
</compound>
<compound kind="file">
<name>sigc++.h</name>
- <path>/home/kjell/checkout/gnome/libsigc++2/sigc++/</path>
+ <path>/home/murrayc/checkout/gnome/libsigc++2/sigc++/</path>
<filename>sigc_09_09_8h</filename>
</compound>
<compound kind="file">
<name>signal.h</name>
- <path>/home/kjell/checkout/gnome/libsigc++2/sigc++/</path>
+ <path>/home/murrayc/checkout/gnome/libsigc++2/sigc++/</path>
<filename>signal_8h</filename>
<class kind="class">sigc::signal</class>
<class kind="class">sigc::signal0</class>
</compound>
<compound kind="file">
<name>signal_base.h</name>
- <path>/home/kjell/checkout/gnome/libsigc++2/sigc++/</path>
+ <path>/home/murrayc/checkout/gnome/libsigc++2/sigc++/</path>
<filename>signal__base_8h</filename>
<class kind="struct">sigc::signal_base</class>
<namespace>sigc</namespace>
</compound>
<compound kind="file">
<name>slot.h</name>
- <path>/home/kjell/checkout/gnome/libsigc++2/sigc++/</path>
+ <path>/home/murrayc/checkout/gnome/libsigc++2/sigc++/</path>
<filename>slot_8h</filename>
</compound>
<compound kind="file">
<name>slot.h</name>
- <path>/home/kjell/checkout/gnome/libsigc++2/sigc++/functors/</path>
+ <path>/home/murrayc/checkout/gnome/libsigc++2/sigc++/functors/</path>
<filename>functors_2slot_8h</filename>
<class kind="class">sigc::slot</class>
<class kind="class">sigc::slot0</class>
</compound>
<compound kind="file">
<name>trackable.h</name>
- <path>/home/kjell/checkout/gnome/libsigc++2/sigc++/</path>
+ <path>/home/murrayc/checkout/gnome/libsigc++2/sigc++/</path>
<filename>trackable_8h</filename>
<class kind="struct">sigc::trackable</class>
<namespace>sigc</namespace>
</compound>
<compound kind="file">
<name>type_traits.h</name>
- <path>/home/kjell/checkout/gnome/libsigc++2/sigc++/</path>
+ <path>/home/murrayc/checkout/gnome/libsigc++2/sigc++/</path>
<filename>type__traits_8h</filename>
<class kind="struct">sigc::is_base_and_derived</class>
<class kind="struct">sigc::is_base_and_derived< T_base, T_base ></class>
</compound>
<compound kind="file">
<name>visit_each.h</name>
- <path>/home/kjell/checkout/gnome/libsigc++2/sigc++/</path>
+ <path>/home/murrayc/checkout/gnome/libsigc++2/sigc++/</path>
<filename>visit__each_8h</filename>
<class kind="struct">sigc::visitor</class>
<namespace>sigc</namespace>
<arglist>() const</arglist>
</member>
</compound>
- <compound kind="class">
- <name>lambda< T_type1 ></name>
- <filename>structsigc_1_1lambda.html</filename>
- <member kind="typedef">
- <type>lambda< T_type1 ></type>
- <name>self</name>
- <anchorfile>structsigc_1_1lambda.html</anchorfile>
- <anchor>ad25413132b4ce715f39e412fb0fc8945</anchor>
- <arglist></arglist>
- </member>
- <member kind="function">
- <type></type>
- <name>lambda</name>
- <anchorfile>structsigc_1_1lambda.html</anchorfile>
- <anchor>a98c9c8c66727f22d6f53358d48ddd949</anchor>
- <arglist>()</arglist>
- </member>
- <member kind="function">
- <type></type>
- <name>lambda</name>
- <anchorfile>structsigc_1_1lambda.html</anchorfile>
- <anchor>a91e27c4fdac4597967558b32559bee90</anchor>
- <arglist>(typename type_trait< T_type1 >::take v)</arglist>
- </member>
- <member kind="function">
- <type>lambda< lambda_operator<other< assign >, self, typename unwrap_lambda_type< T_arg >::type > ></type>
- <name>operator=</name>
- <anchorfile>structsigc_1_1lambda.html</anchorfile>
- <anchor>aa49660a600600aa81efce5b6abfe5972</anchor>
- <arglist>(const T_arg &a) const</arglist>
- </member>
- <member kind="function">
- <type>lambda< lambda_operator<other< subscript >, self, typename unwrap_lambda_type< T_arg >::type > ></type>
- <name>operator[]</name>
- <anchorfile>structsigc_1_1lambda.html</anchorfile>
- <anchor>a8c3c0659edeb1fdd4108e03be8ba0345</anchor>
- <arglist>(const T_arg &a) const</arglist>
- </member>
- </compound>
- <compound kind="class">
- <name>lambda< T_type2 ></name>
- <filename>structsigc_1_1lambda.html</filename>
- <member kind="typedef">
- <type>lambda< T_type2 ></type>
- <name>self</name>
- <anchorfile>structsigc_1_1lambda.html</anchorfile>
- <anchor>ad25413132b4ce715f39e412fb0fc8945</anchor>
- <arglist></arglist>
- </member>
- <member kind="function">
- <type></type>
- <name>lambda</name>
- <anchorfile>structsigc_1_1lambda.html</anchorfile>
- <anchor>a98c9c8c66727f22d6f53358d48ddd949</anchor>
- <arglist>()</arglist>
- </member>
- <member kind="function">
- <type></type>
- <name>lambda</name>
- <anchorfile>structsigc_1_1lambda.html</anchorfile>
- <anchor>a91e27c4fdac4597967558b32559bee90</anchor>
- <arglist>(typename type_trait< T_type2 >::take v)</arglist>
- </member>
- <member kind="function">
- <type>lambda< lambda_operator<other< assign >, self, typename unwrap_lambda_type< T_arg >::type > ></type>
- <name>operator=</name>
- <anchorfile>structsigc_1_1lambda.html</anchorfile>
- <anchor>aa49660a600600aa81efce5b6abfe5972</anchor>
- <arglist>(const T_arg &a) const</arglist>
- </member>
- <member kind="function">
- <type>lambda< lambda_operator<other< subscript >, self, typename unwrap_lambda_type< T_arg >::type > ></type>
- <name>operator[]</name>
- <anchorfile>structsigc_1_1lambda.html</anchorfile>
- <anchor>a8c3c0659edeb1fdd4108e03be8ba0345</anchor>
- <arglist>(const T_arg &a) const</arglist>
- </member>
- </compound>
- <compound kind="class">
- <name>lambda< T_type3 ></name>
- <filename>structsigc_1_1lambda.html</filename>
- <member kind="typedef">
- <type>lambda< T_type3 ></type>
- <name>self</name>
- <anchorfile>structsigc_1_1lambda.html</anchorfile>
- <anchor>ad25413132b4ce715f39e412fb0fc8945</anchor>
- <arglist></arglist>
- </member>
- <member kind="function">
- <type></type>
- <name>lambda</name>
- <anchorfile>structsigc_1_1lambda.html</anchorfile>
- <anchor>a98c9c8c66727f22d6f53358d48ddd949</anchor>
- <arglist>()</arglist>
- </member>
- <member kind="function">
- <type></type>
- <name>lambda</name>
- <anchorfile>structsigc_1_1lambda.html</anchorfile>
- <anchor>a91e27c4fdac4597967558b32559bee90</anchor>
- <arglist>(typename type_trait< T_type3 >::take v)</arglist>
- </member>
- <member kind="function">
- <type>lambda< lambda_operator<other< assign >, self, typename unwrap_lambda_type< T_arg >::type > ></type>
- <name>operator=</name>
- <anchorfile>structsigc_1_1lambda.html</anchorfile>
- <anchor>aa49660a600600aa81efce5b6abfe5972</anchor>
- <arglist>(const T_arg &a) const</arglist>
- </member>
- <member kind="function">
- <type>lambda< lambda_operator<other< subscript >, self, typename unwrap_lambda_type< T_arg >::type > ></type>
- <name>operator[]</name>
- <anchorfile>structsigc_1_1lambda.html</anchorfile>
- <anchor>a8c3c0659edeb1fdd4108e03be8ba0345</anchor>
- <arglist>(const T_arg &a) const</arglist>
- </member>
- </compound>
<compound kind="class">
<name>limit_reference< T_obj ></name>
<filename>classsigc_1_1limit__reference.html</filename>
<arglist></arglist>
</member>
</compound>
+ <compound kind="class">
+ <name>sigc::can_deduce_result_type_with_decltype</name>
+ <filename>classsigc_1_1can__deduce__result__type__with__decltype.html</filename>
+ <templarg></templarg>
+ <member kind="variable" static="yes">
+ <type>static const bool</type>
+ <name>value</name>
+ <anchorfile>classsigc_1_1can__deduce__result__type__with__decltype.html</anchorfile>
+ <anchor>a3e390d22fe03a03bb34bb38bca1aea91</anchor>
+ <arglist></arglist>
+ </member>
+ </compound>
<compound kind="struct">
<name>sigc::compose1_functor</name>
<filename>structsigc_1_1compose1__functor.html</filename>
<filename>structsigc_1_1functor__trait.html</filename>
<templarg>T_functor</templarg>
<templarg>I_derives_functor_base</templarg>
+ <templarg>I_can_use_decltype</templarg>
<member kind="typedef">
<type>T_functor</type>
<name>functor_type</name>
<anchorfile>structsigc_1_1functor__trait.html</anchorfile>
- <anchor>aaa889e97aa5a7a6af00f500df7d143e9</anchor>
+ <anchor>ac779b3d3d04e78d57b6b2ae4545b1667</anchor>
<arglist></arglist>
</member>
<member kind="typedef">
<type>void</type>
<name>result_type</name>
<anchorfile>structsigc_1_1functor__trait.html</anchorfile>
- <anchor>a90c4188e1d98bdf394d77a3b1b1c065f</anchor>
+ <anchor>af1324bf0d3cec3d1f2e39e932b228d6d</anchor>
<arglist></arglist>
</member>
</compound>
<arglist></arglist>
</member>
</compound>
- <compound kind="struct">
- <name>sigc::lambda</name>
- <filename>structsigc_1_1lambda.html</filename>
- <templarg>T_type</templarg>
- <member kind="typedef">
- <type>lambda< T_type ></type>
- <name>self</name>
- <anchorfile>structsigc_1_1lambda.html</anchorfile>
- <anchor>ad25413132b4ce715f39e412fb0fc8945</anchor>
- <arglist></arglist>
- </member>
- <member kind="function">
- <type></type>
- <name>lambda</name>
- <anchorfile>structsigc_1_1lambda.html</anchorfile>
- <anchor>a98c9c8c66727f22d6f53358d48ddd949</anchor>
- <arglist>()</arglist>
- </member>
- <member kind="function">
- <type></type>
- <name>lambda</name>
- <anchorfile>structsigc_1_1lambda.html</anchorfile>
- <anchor>a91e27c4fdac4597967558b32559bee90</anchor>
- <arglist>(typename type_trait< T_type >::take v)</arglist>
- </member>
- <member kind="function">
- <type>lambda< lambda_operator<other< assign >, self, typename unwrap_lambda_type< T_arg >::type > ></type>
- <name>operator=</name>
- <anchorfile>structsigc_1_1lambda.html</anchorfile>
- <anchor>aa49660a600600aa81efce5b6abfe5972</anchor>
- <arglist>(const T_arg &a) const </arglist>
- </member>
- <member kind="function">
- <type>lambda< lambda_operator<other< subscript >, self, typename unwrap_lambda_type< T_arg >::type > ></type>
- <name>operator[]</name>
- <anchorfile>structsigc_1_1lambda.html</anchorfile>
- <anchor>a8c3c0659edeb1fdd4108e03be8ba0345</anchor>
- <arglist>(const T_arg &a) const </arglist>
- </member>
- </compound>
- <compound kind="struct">
- <name>sigc::lambda_base</name>
- <filename>structsigc_1_1lambda__base.html</filename>
- <base>sigc::adaptor_base</base>
- </compound>
- <compound kind="struct">
- <name>sigc::lambda_group1</name>
- <filename>structsigc_1_1lambda__group1.html</filename>
- <templarg></templarg>
- <templarg></templarg>
- <base>sigc::lambda_base</base>
- <member kind="typedef">
- <type>adaptor_trait< T_functor >::adaptor_type</type>
- <name>functor_type</name>
- <anchorfile>structsigc_1_1lambda__group1.html</anchorfile>
- <anchor>a33608fda37bc84ec8a336f9d52d4924e</anchor>
- <arglist></arglist>
- </member>
- <member kind="typedef">
- <type>functor_trait< T_functor >::result_type</type>
- <name>result_type</name>
- <anchorfile>structsigc_1_1lambda__group1.html</anchorfile>
- <anchor>ac602edad96df05d967b6a5c4936f0ac8</anchor>
- <arglist></arglist>
- </member>
- <member kind="typedef">
- <type>lambda< T_type1 >::lambda_type</type>
- <name>value1_type</name>
- <anchorfile>structsigc_1_1lambda__group1.html</anchorfile>
- <anchor>a4ba1e4dee915b4bd089d34337b25583b</anchor>
- <arglist></arglist>
- </member>
- <member kind="function">
- <type></type>
- <name>lambda_group1</name>
- <anchorfile>structsigc_1_1lambda__group1.html</anchorfile>
- <anchor>a306d752cc63d4ad177b30da0072b1ff6</anchor>
- <arglist>(typename type_trait< T_functor >::take _A_func, typename type_trait< T_type1 >::take _A_1)</arglist>
- </member>
- <member kind="function">
- <type>result_type</type>
- <name>operator()</name>
- <anchorfile>structsigc_1_1lambda__group1.html</anchorfile>
- <anchor>adba4263bed98048c83b986959155c78e</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function">
- <type>deduce_result_type< T_arg1 >::type</type>
- <name>operator()</name>
- <anchorfile>structsigc_1_1lambda__group1.html</anchorfile>
- <anchor>a1eb3b797403d8164c4bfb55107f4d60f</anchor>
- <arglist>(T_arg1 _A_1) const </arglist>
- </member>
- <member kind="function">
- <type>deduce_result_type< T_arg1, T_arg2 >::type</type>
- <name>operator()</name>
- <anchorfile>structsigc_1_1lambda__group1.html</anchorfile>
- <anchor>a90a15e28628a4f0cbd2d3c59844ec7e8</anchor>
- <arglist>(T_arg1 _A_1, T_arg2 _A_2) const </arglist>
- </member>
- <member kind="function">
- <type>deduce_result_type< T_arg1, T_arg2, T_arg3 >::type</type>
- <name>operator()</name>
- <anchorfile>structsigc_1_1lambda__group1.html</anchorfile>
- <anchor>a3ddcff46a3cbcbdcfa4573e68b12c48c</anchor>
- <arglist>(T_arg1 _A_1, T_arg2 _A_2, T_arg3 _A_3) const </arglist>
- </member>
- <member kind="function">
- <type>deduce_result_type< T_arg1, T_arg2, T_arg3, T_arg4 >::type</type>
- <name>operator()</name>
- <anchorfile>structsigc_1_1lambda__group1.html</anchorfile>
- <anchor>af8414fd8e83ffad14d46c7a563686b3f</anchor>
- <arglist>(T_arg1 _A_1, T_arg2 _A_2, T_arg3 _A_3, T_arg4 _A_4) const </arglist>
- </member>
- <member kind="function">
- <type>deduce_result_type< T_arg1, T_arg2, T_arg3, T_arg4, T_arg5 >::type</type>
- <name>operator()</name>
- <anchorfile>structsigc_1_1lambda__group1.html</anchorfile>
- <anchor>a8bc6a42b4fae024267b1315553ac9472</anchor>
- <arglist>(T_arg1 _A_1, T_arg2 _A_2, T_arg3 _A_3, T_arg4 _A_4, T_arg5 _A_5) const </arglist>
- </member>
- <member kind="function">
- <type>deduce_result_type< T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6 >::type</type>
- <name>operator()</name>
- <anchorfile>structsigc_1_1lambda__group1.html</anchorfile>
- <anchor>a3c451b5f8f1a527682cd886747c444de</anchor>
- <arglist>(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 </arglist>
- </member>
- <member kind="function">
- <type>deduce_result_type< T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7 >::type</type>
- <name>operator()</name>
- <anchorfile>structsigc_1_1lambda__group1.html</anchorfile>
- <anchor>a8e78e9169e8c1150ad3e6489b9719e83</anchor>
- <arglist>(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 </arglist>
- </member>
- <member kind="variable">
- <type>functor_type</type>
- <name>func_</name>
- <anchorfile>structsigc_1_1lambda__group1.html</anchorfile>
- <anchor>ac11cb4cd0685ce3745bf438bb59006e4</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>value1_type</type>
- <name>value1_</name>
- <anchorfile>structsigc_1_1lambda__group1.html</anchorfile>
- <anchor>a0243095285dd004dbfa78e4148b75b87</anchor>
- <arglist></arglist>
- </member>
- </compound>
- <compound kind="struct">
- <name>sigc::lambda_group2</name>
- <filename>structsigc_1_1lambda__group2.html</filename>
- <templarg></templarg>
- <templarg></templarg>
- <templarg></templarg>
- <base>sigc::lambda_base</base>
- <member kind="typedef">
- <type>adaptor_trait< T_functor >::adaptor_type</type>
- <name>functor_type</name>
- <anchorfile>structsigc_1_1lambda__group2.html</anchorfile>
- <anchor>a97ac691a597ef2063a4d0c53b99c28c5</anchor>
- <arglist></arglist>
- </member>
- <member kind="typedef">
- <type>functor_trait< T_functor >::result_type</type>
- <name>result_type</name>
- <anchorfile>structsigc_1_1lambda__group2.html</anchorfile>
- <anchor>acedf5bd987b41b0a975aece3f91562c6</anchor>
- <arglist></arglist>
- </member>
- <member kind="typedef">
- <type>lambda< T_type1 >::lambda_type</type>
- <name>value1_type</name>
- <anchorfile>structsigc_1_1lambda__group2.html</anchorfile>
- <anchor>aba1e85dabda9b2c0fffbf41d2cc83064</anchor>
- <arglist></arglist>
- </member>
- <member kind="typedef">
- <type>lambda< T_type2 >::lambda_type</type>
- <name>value2_type</name>
- <anchorfile>structsigc_1_1lambda__group2.html</anchorfile>
- <anchor>a48051f2cfec13546be194319afc6678f</anchor>
- <arglist></arglist>
- </member>
- <member kind="function">
- <type></type>
- <name>lambda_group2</name>
- <anchorfile>structsigc_1_1lambda__group2.html</anchorfile>
- <anchor>a2d29af15fc0cbad49c426753e9d218e4</anchor>
- <arglist>(typename type_trait< T_functor >::take _A_func, typename type_trait< T_type1 >::take _A_1, typename type_trait< T_type2 >::take _A_2)</arglist>
- </member>
- <member kind="function">
- <type>result_type</type>
- <name>operator()</name>
- <anchorfile>structsigc_1_1lambda__group2.html</anchorfile>
- <anchor>a84d9692718e446306a763355303c6e52</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function">
- <type>deduce_result_type< T_arg1 >::type</type>
- <name>operator()</name>
- <anchorfile>structsigc_1_1lambda__group2.html</anchorfile>
- <anchor>aaba8dea339e534f2383cf83f7877a3d0</anchor>
- <arglist>(T_arg1 _A_1) const </arglist>
- </member>
- <member kind="function">
- <type>deduce_result_type< T_arg1, T_arg2 >::type</type>
- <name>operator()</name>
- <anchorfile>structsigc_1_1lambda__group2.html</anchorfile>
- <anchor>ad98d956665fb748da9b48d1685421907</anchor>
- <arglist>(T_arg1 _A_1, T_arg2 _A_2) const </arglist>
- </member>
- <member kind="function">
- <type>deduce_result_type< T_arg1, T_arg2, T_arg3 >::type</type>
- <name>operator()</name>
- <anchorfile>structsigc_1_1lambda__group2.html</anchorfile>
- <anchor>a2ff6da0bfb93be36b2b5c4d1e6b1529e</anchor>
- <arglist>(T_arg1 _A_1, T_arg2 _A_2, T_arg3 _A_3) const </arglist>
- </member>
- <member kind="function">
- <type>deduce_result_type< T_arg1, T_arg2, T_arg3, T_arg4 >::type</type>
- <name>operator()</name>
- <anchorfile>structsigc_1_1lambda__group2.html</anchorfile>
- <anchor>a9c9b6b7a1a2b15d888044f9577b4b5da</anchor>
- <arglist>(T_arg1 _A_1, T_arg2 _A_2, T_arg3 _A_3, T_arg4 _A_4) const </arglist>
- </member>
- <member kind="function">
- <type>deduce_result_type< T_arg1, T_arg2, T_arg3, T_arg4, T_arg5 >::type</type>
- <name>operator()</name>
- <anchorfile>structsigc_1_1lambda__group2.html</anchorfile>
- <anchor>a1bd07e1cc8400c3ee2dd5a9ef45129ec</anchor>
- <arglist>(T_arg1 _A_1, T_arg2 _A_2, T_arg3 _A_3, T_arg4 _A_4, T_arg5 _A_5) const </arglist>
- </member>
- <member kind="function">
- <type>deduce_result_type< T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6 >::type</type>
- <name>operator()</name>
- <anchorfile>structsigc_1_1lambda__group2.html</anchorfile>
- <anchor>a7d35c350f6255628bda5a4730169eed8</anchor>
- <arglist>(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 </arglist>
- </member>
- <member kind="function">
- <type>deduce_result_type< T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7 >::type</type>
- <name>operator()</name>
- <anchorfile>structsigc_1_1lambda__group2.html</anchorfile>
- <anchor>afaf7c41dd05dbc517170c43deafd0473</anchor>
- <arglist>(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 </arglist>
- </member>
- <member kind="variable">
- <type>functor_type</type>
- <name>func_</name>
- <anchorfile>structsigc_1_1lambda__group2.html</anchorfile>
- <anchor>a81d504b21b2eb7821975e34e91bf702d</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>value1_type</type>
- <name>value1_</name>
- <anchorfile>structsigc_1_1lambda__group2.html</anchorfile>
- <anchor>a4bd04d092cfb0c677653dd6e2a329c7a</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>value2_type</type>
- <name>value2_</name>
- <anchorfile>structsigc_1_1lambda__group2.html</anchorfile>
- <anchor>a23175ece70377eaa63bb1ec8f9f0b404</anchor>
- <arglist></arglist>
- </member>
- </compound>
- <compound kind="struct">
- <name>sigc::lambda_group3</name>
- <filename>structsigc_1_1lambda__group3.html</filename>
- <templarg></templarg>
- <templarg></templarg>
- <templarg></templarg>
- <templarg></templarg>
- <base>sigc::lambda_base</base>
- <member kind="typedef">
- <type>adaptor_trait< T_functor >::adaptor_type</type>
- <name>functor_type</name>
- <anchorfile>structsigc_1_1lambda__group3.html</anchorfile>
- <anchor>a33feec6b2637fb5bea3f7a7f7c6e2142</anchor>
- <arglist></arglist>
- </member>
- <member kind="typedef">
- <type>functor_trait< T_functor >::result_type</type>
- <name>result_type</name>
- <anchorfile>structsigc_1_1lambda__group3.html</anchorfile>
- <anchor>afb1ec9fdf67e5c37df9f94381e662322</anchor>
- <arglist></arglist>
- </member>
- <member kind="typedef">
- <type>lambda< T_type1 >::lambda_type</type>
- <name>value1_type</name>
- <anchorfile>structsigc_1_1lambda__group3.html</anchorfile>
- <anchor>a9b336d0eadd9475f2e45b6aedfe2e97d</anchor>
- <arglist></arglist>
- </member>
- <member kind="typedef">
- <type>lambda< T_type2 >::lambda_type</type>
- <name>value2_type</name>
- <anchorfile>structsigc_1_1lambda__group3.html</anchorfile>
- <anchor>af4e66634f79c2c8c1f5e64d586816234</anchor>
- <arglist></arglist>
- </member>
- <member kind="typedef">
- <type>lambda< T_type3 >::lambda_type</type>
- <name>value3_type</name>
- <anchorfile>structsigc_1_1lambda__group3.html</anchorfile>
- <anchor>a7ea1e7fea0a9522ccacf1e2ab36fd919</anchor>
- <arglist></arglist>
- </member>
- <member kind="function">
- <type></type>
- <name>lambda_group3</name>
- <anchorfile>structsigc_1_1lambda__group3.html</anchorfile>
- <anchor>a10f0e874c01605f803f80e106eb49691</anchor>
- <arglist>(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)</arglist>
- </member>
- <member kind="function">
- <type>result_type</type>
- <name>operator()</name>
- <anchorfile>structsigc_1_1lambda__group3.html</anchorfile>
- <anchor>a1724e7b0036ce70ab6076f2bcccc9c4e</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function">
- <type>deduce_result_type< T_arg1 >::type</type>
- <name>operator()</name>
- <anchorfile>structsigc_1_1lambda__group3.html</anchorfile>
- <anchor>ad7b7fbb96ae7f5cf4fa5332b8d3098f7</anchor>
- <arglist>(T_arg1 _A_1) const </arglist>
- </member>
- <member kind="function">
- <type>deduce_result_type< T_arg1, T_arg2 >::type</type>
- <name>operator()</name>
- <anchorfile>structsigc_1_1lambda__group3.html</anchorfile>
- <anchor>aa8b978d18286156ad9c359280101bc70</anchor>
- <arglist>(T_arg1 _A_1, T_arg2 _A_2) const </arglist>
- </member>
- <member kind="function">
- <type>deduce_result_type< T_arg1, T_arg2, T_arg3 >::type</type>
- <name>operator()</name>
- <anchorfile>structsigc_1_1lambda__group3.html</anchorfile>
- <anchor>af82b660c1cffa35c7b12b9a2d39799e3</anchor>
- <arglist>(T_arg1 _A_1, T_arg2 _A_2, T_arg3 _A_3) const </arglist>
- </member>
- <member kind="function">
- <type>deduce_result_type< T_arg1, T_arg2, T_arg3, T_arg4 >::type</type>
- <name>operator()</name>
- <anchorfile>structsigc_1_1lambda__group3.html</anchorfile>
- <anchor>a372d4f1c91828696c70662e524dc05b7</anchor>
- <arglist>(T_arg1 _A_1, T_arg2 _A_2, T_arg3 _A_3, T_arg4 _A_4) const </arglist>
- </member>
- <member kind="function">
- <type>deduce_result_type< T_arg1, T_arg2, T_arg3, T_arg4, T_arg5 >::type</type>
- <name>operator()</name>
- <anchorfile>structsigc_1_1lambda__group3.html</anchorfile>
- <anchor>a9fda2de19e0c1c70d76fc3c569fb8970</anchor>
- <arglist>(T_arg1 _A_1, T_arg2 _A_2, T_arg3 _A_3, T_arg4 _A_4, T_arg5 _A_5) const </arglist>
- </member>
- <member kind="function">
- <type>deduce_result_type< T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6 >::type</type>
- <name>operator()</name>
- <anchorfile>structsigc_1_1lambda__group3.html</anchorfile>
- <anchor>a0d42748af9f046a92e13078fd6de1af4</anchor>
- <arglist>(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 </arglist>
- </member>
- <member kind="function">
- <type>deduce_result_type< T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7 >::type</type>
- <name>operator()</name>
- <anchorfile>structsigc_1_1lambda__group3.html</anchorfile>
- <anchor>a50b0f20feaee68e481a1ff40aa3b757b</anchor>
- <arglist>(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 </arglist>
- </member>
- <member kind="variable">
- <type>functor_type</type>
- <name>func_</name>
- <anchorfile>structsigc_1_1lambda__group3.html</anchorfile>
- <anchor>ae5bd70216dc26c2328c0cf08353bc06f</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>value1_type</type>
- <name>value1_</name>
- <anchorfile>structsigc_1_1lambda__group3.html</anchorfile>
- <anchor>aa7f6344108a494d5d150398e8c883d1d</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>value2_type</type>
- <name>value2_</name>
- <anchorfile>structsigc_1_1lambda__group3.html</anchorfile>
- <anchor>a0329614243229b16bff4a0faaadfcabf</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>value3_type</type>
- <name>value3_</name>
- <anchorfile>structsigc_1_1lambda__group3.html</anchorfile>
- <anchor>a7589f349c2cc3c0420a2501470ce566a</anchor>
- <arglist></arglist>
- </member>
- </compound>
<compound kind="class">
<name>sigc::limit_reference</name>
<filename>classsigc_1_1limit__reference.html</filename>
<arglist></arglist>
</member>
</compound>
- <compound kind="struct">
- <name>sigc::unwrap_lambda_type</name>
- <filename>structsigc_1_1unwrap__lambda__type.html</filename>
- <templarg></templarg>
- <member kind="typedef">
- <type>unwrap_reference< T_type >::type</type>
- <name>type</name>
- <anchorfile>structsigc_1_1unwrap__lambda__type.html</anchorfile>
- <anchor>aadfb5741dde3970115b666c4e033ce2f</anchor>
- <arglist></arglist>
- </member>
- </compound>
- <compound kind="struct">
- <name>sigc::unwrap_lambda_type< lambda< T_type > ></name>
- <filename>structsigc_1_1unwrap__lambda__type_3_01lambda_3_01T__type_01_4_01_4.html</filename>
- <templarg></templarg>
- <member kind="typedef">
- <type>T_type</type>
- <name>type</name>
- <anchorfile>structsigc_1_1unwrap__lambda__type_3_01lambda_3_01T__type_01_4_01_4.html</anchorfile>
- <anchor>a533dabb2c57ca7d6f4cbfc4c7b915d84</anchor>
- <arglist></arglist>
- </member>
- </compound>
<compound kind="struct">
<name>sigc::unwrap_reference</name>
<filename>structsigc_1_1unwrap__reference.html</filename>
- <templarg>T_type</templarg>
+ <templarg></templarg>
<member kind="typedef">
<type>T_type</type>
<name>type</name>
<class kind="class">sigc::bound_volatile_mem_functor5</class>
<class kind="class">sigc::bound_volatile_mem_functor6</class>
<class kind="class">sigc::bound_volatile_mem_functor7</class>
+ <class kind="class">sigc::can_deduce_result_type_with_decltype</class>
<class kind="struct">sigc::compose1_functor</class>
<class kind="struct">sigc::compose2_functor</class>
<class kind="struct">sigc::connection</class>
<class kind="struct">sigc::hide_functor<-1, T_functor ></class>
<class kind="struct">sigc::is_base_and_derived</class>
<class kind="struct">sigc::is_base_and_derived< T_base, T_base ></class>
- <class kind="struct">sigc::lambda</class>
- <class kind="struct">sigc::lambda_base</class>
- <class kind="struct">sigc::lambda_group1</class>
- <class kind="struct">sigc::lambda_group2</class>
- <class kind="struct">sigc::lambda_group3</class>
<class kind="class">sigc::limit_reference</class>
<class kind="class">sigc::limit_reference< T_type, true ></class>
<class kind="class">sigc::mem_functor0</class>
<class kind="struct">sigc::type_trait< T_type & ></class>
<class kind="struct">sigc::type_trait< T_type[N]></class>
<class kind="struct">sigc::type_trait< void ></class>
- <class kind="struct">sigc::unwrap_lambda_type</class>
- <class kind="struct">sigc::unwrap_lambda_type< lambda< T_type > ></class>
<class kind="struct">sigc::unwrap_reference</class>
<class kind="struct">sigc::unwrap_reference< const_reference_wrapper< T_type > ></class>
<class kind="struct">sigc::unwrap_reference< reference_wrapper< T_type > ></class>
<anchor>a0ae3b8a1ba26920cee4d7d9df2c39ed9</anchor>
<arglist>(const T_functor &_A_func, const T_catcher &_A_catcher)</arglist>
</member>
- <member kind="function">
- <type>lambda< lambda_group1< T_functor, typename unwrap_reference< T_type1 >::type > ></type>
- <name>group</name>
- <anchorfile>group__lambdas.html</anchorfile>
- <anchor>ga56a5905d189af5fab33d8c456f097a29</anchor>
- <arglist>(const T_functor &_A_func, T_type1 _A_1)</arglist>
- </member>
- <member kind="function">
- <type>lambda< lambda_group2< T_functor, typename unwrap_reference< T_type1 >::type, typename unwrap_reference< T_type2 >::type > ></type>
- <name>group</name>
- <anchorfile>group__lambdas.html</anchorfile>
- <anchor>gaadbc8eaf9aa10213c228b53e69f3fead</anchor>
- <arglist>(const T_functor &_A_func, T_type1 _A_1, T_type2 _A_2)</arglist>
- </member>
- <member kind="function">
- <type>lambda< lambda_group3< T_functor, typename unwrap_reference< T_type1 >::type, typename unwrap_reference< T_type2 >::type, typename unwrap_reference< T_type3 >::type > ></type>
- <name>group</name>
- <anchorfile>group__lambdas.html</anchorfile>
- <anchor>ga993b22c0e13eb536edd9bcc3afd6d949</anchor>
- <arglist>(const T_functor &_A_func, T_type1 _A_1, T_type2 _A_2, T_type3 _A_3)</arglist>
- </member>
<member kind="function">
<type>hide_functor< I_location, T_functor ></type>
<name>hide</name>
<anchor>a2f758c77e8743093f938d0c5dbf06778</anchor>
<arglist>(const const_reference_wrapper< T_type > &v)</arglist>
</member>
- <member kind="function">
- <type>T_type &</type>
- <name>unwrap_lambda_value</name>
- <anchorfile>group__lambdas.html</anchorfile>
- <anchor>ga5fbbd890bbed369b5a77ef375a34ab47</anchor>
- <arglist>(T_type &a)</arglist>
- </member>
- <member kind="function">
- <type>const T_type &</type>
- <name>unwrap_lambda_value</name>
- <anchorfile>group__lambdas.html</anchorfile>
- <anchor>ga23fcae89c45fa2f28ed2ed421b2249ca</anchor>
- <arglist>(const T_type &a)</arglist>
- </member>
- <member kind="function">
- <type>const T_type &</type>
- <name>unwrap_lambda_value</name>
- <anchorfile>group__lambdas.html</anchorfile>
- <anchor>ga075ab6d364e385be8ff683fb6c24151f</anchor>
- <arglist>(const lambda< T_type > &a)</arglist>
- </member>
- <member kind="function">
- <type>lambda< T_type & ></type>
- <name>var</name>
- <anchorfile>group__lambdas.html</anchorfile>
- <anchor>ga8e560e6113af0c1e9f462471c1d502d4</anchor>
- <arglist>(T_type &v)</arglist>
- </member>
- <member kind="function">
- <type>lambda< const T_type & ></type>
- <name>var</name>
- <anchorfile>group__lambdas.html</anchorfile>
- <anchor>ga5c51a04bb54990fe3d508fa06e574249</anchor>
- <arglist>(const T_type &v)</arglist>
- </member>
<member kind="function">
<type>void</type>
<name>visit_each</name>
<subgroup>bind</subgroup>
<subgroup>compose</subgroup>
<subgroup>exception_catch</subgroup>
- <subgroup>group_</subgroup>
<subgroup>hide</subgroup>
<subgroup>retype</subgroup>
<subgroup>track_obj</subgroup>
<subgroup>slot</subgroup>
<subgroup>mem_fun</subgroup>
<subgroup>ptr_fun</subgroup>
+ <class kind="class">sigc::can_deduce_result_type_with_decltype</class>
<class kind="struct">sigc::functor_base</class>
<class kind="struct">sigc::functor_trait</class>
<class kind="struct">sigc::visitor</class>
<title>Iterators</title>
<filename>a01679.html</filename>
</compound>
- <compound kind="group">
- <name>lambdas</name>
- <title>Lambdas</title>
- <filename>group__lambdas.html</filename>
- <subgroup>group_</subgroup>
- <class kind="struct">sigc::lambda</class>
- <class kind="struct">sigc::lambda_base</class>
- <class kind="struct">sigc::lambda_group1</class>
- <class kind="struct">sigc::lambda_group2</class>
- <class kind="struct">sigc::lambda_group3</class>
- <class kind="struct">sigc::unwrap_lambda_type</class>
- <class kind="struct">sigc::unwrap_lambda_type< lambda< T_type > ></class>
- <member kind="function">
- <type>lambda< lambda_group1< T_functor, typename unwrap_reference< T_type1 >::type > ></type>
- <name>group</name>
- <anchorfile>group__lambdas.html</anchorfile>
- <anchor>ga56a5905d189af5fab33d8c456f097a29</anchor>
- <arglist>(const T_functor &_A_func, T_type1 _A_1)</arglist>
- </member>
- <member kind="function">
- <type>lambda< lambda_group2< T_functor, typename unwrap_reference< T_type1 >::type, typename unwrap_reference< T_type2 >::type > ></type>
- <name>group</name>
- <anchorfile>group__lambdas.html</anchorfile>
- <anchor>gaadbc8eaf9aa10213c228b53e69f3fead</anchor>
- <arglist>(const T_functor &_A_func, T_type1 _A_1, T_type2 _A_2)</arglist>
- </member>
- <member kind="function">
- <type>lambda< lambda_group3< T_functor, typename unwrap_reference< T_type1 >::type, typename unwrap_reference< T_type2 >::type, typename unwrap_reference< T_type3 >::type > ></type>
- <name>group</name>
- <anchorfile>group__lambdas.html</anchorfile>
- <anchor>ga993b22c0e13eb536edd9bcc3afd6d949</anchor>
- <arglist>(const T_functor &_A_func, T_type1 _A_1, T_type2 _A_2, T_type3 _A_3)</arglist>
- </member>
- <member kind="function">
- <type>T_type &</type>
- <name>unwrap_lambda_value</name>
- <anchorfile>group__lambdas.html</anchorfile>
- <anchor>ga5fbbd890bbed369b5a77ef375a34ab47</anchor>
- <arglist>(T_type &a)</arglist>
- </member>
- <member kind="function">
- <type>const T_type &</type>
- <name>unwrap_lambda_value</name>
- <anchorfile>group__lambdas.html</anchorfile>
- <anchor>ga23fcae89c45fa2f28ed2ed421b2249ca</anchor>
- <arglist>(const T_type &a)</arglist>
- </member>
- <member kind="function">
- <type>const T_type &</type>
- <name>unwrap_lambda_value</name>
- <anchorfile>group__lambdas.html</anchorfile>
- <anchor>ga075ab6d364e385be8ff683fb6c24151f</anchor>
- <arglist>(const lambda< T_type > &a)</arglist>
- </member>
- <member kind="function">
- <type>lambda< T_type & ></type>
- <name>var</name>
- <anchorfile>group__lambdas.html</anchorfile>
- <anchor>ga8e560e6113af0c1e9f462471c1d502d4</anchor>
- <arglist>(T_type &v)</arglist>
- </member>
- <member kind="function">
- <type>lambda< const T_type & ></type>
- <name>var</name>
- <anchorfile>group__lambdas.html</anchorfile>
- <anchor>ga5c51a04bb54990fe3d508fa06e574249</anchor>
- <arglist>(const T_type &v)</arglist>
- </member>
- </compound>
<compound kind="group">
<name>list-based</name>
<title>List-Based</title>
<title>exception_catch()</title>
<filename>group__exception__catch.html</filename>
</compound>
- <compound kind="group">
- <name>group_</name>
- <title>group()</title>
- <filename>group__group__.html</filename>
- </compound>
<compound kind="group">
<name>hide</name>
<title>hide(), hide_return()</title>
EXEEXT = @EXEEXT@
FGREP = @FGREP@
GREP = @GREP@
+HAVE_CXX11 = @HAVE_CXX11@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
include $(srcdir)/filelist.am
# Subdirectories needed also in the build dir
-build_subdirs = functors adaptors/lambda
+build_subdirs = functors
dist_noinst_DATA = $(sigc_m4)
trackable.cc \
connection.cc \
functors/slot.cc \
- functors/slot_base.cc \
- adaptors/lambda/lambda.cc
+ functors/slot_base.cc
EXTRA_libsigc_@SIGCXX_API_VERSION@_la_SOURCES = $(sigc_built_cc)
functors/mem_fun.h \
functors/functor_trait.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
-
functors/slot.cc: \
functors/slot.h \
functors/slot_base.h \
am__dirstamp = $(am__leading_dot)dirstamp
am_libsigc_@SIGCXX_API_VERSION@_la_OBJECTS = signal.lo signal_base.lo \
trackable.lo connection.lo functors/slot.lo \
- functors/slot_base.lo adaptors/lambda/lambda.lo
+ functors/slot_base.lo
libsigc_@SIGCXX_API_VERSION@_la_OBJECTS = \
$(am_libsigc_@SIGCXX_API_VERSION@_la_OBJECTS)
AM_V_lt = $(am__v_lt_@AM_V@)
EXEEXT = @EXEEXT@
FGREP = @FGREP@
GREP = @GREP@
+HAVE_CXX11 = @HAVE_CXX11@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
track_obj.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
-
# 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/%)
+ $(adaptors_m4:%=adaptors/macros/%)
sigc_built_cc = $(base_built_cc) \
$(functors_built_cc:%=functors/%) \
- $(adaptors_built_cc:%=adaptors/%) \
- $(lambda_built_cc:%=adaptors/lambda/%)
+ $(adaptors_built_cc:%=adaptors/%)
sigc_built_h = $(base_built_h) \
$(functors_built_h:%=functors/%) \
- $(adaptors_built_h:%=adaptors/%) \
- $(lambda_built_h:%=adaptors/lambda/%)
+ $(adaptors_built_h:%=adaptors/%)
sigc_public_h = \
bind.h \
visit_each.h \
adaptors/adaptors.h \
adaptors/bound_argument.h \
- adaptors/lambda/lambda.h \
functors/functors.h \
functors/slot_base.h
# Subdirectories needed also in the build dir
-build_subdirs = functors adaptors/lambda
+build_subdirs = functors
dist_noinst_DATA = $(sigc_m4)
library_includedir = $(includedir)/$(SIGCXX_MODULE_NAME)/sigc++
nobase_library_include_HEADERS = sigc++.h $(sigc_public_h) $(sigc_built_h)
trackable.cc \
connection.cc \
functors/slot.cc \
- functors/slot_base.cc \
- adaptors/lambda/lambda.cc
+ functors/slot_base.cc
EXTRA_libsigc_@SIGCXX_API_VERSION@_la_SOURCES = $(sigc_built_cc)
functors/$(DEPDIR)/$(am__dirstamp)
functors/slot_base.lo: functors/$(am__dirstamp) \
functors/$(DEPDIR)/$(am__dirstamp)
-adaptors/lambda/$(am__dirstamp):
- @$(MKDIR_P) adaptors/lambda
- @: > adaptors/lambda/$(am__dirstamp)
-adaptors/lambda/$(DEPDIR)/$(am__dirstamp):
- @$(MKDIR_P) adaptors/lambda/$(DEPDIR)
- @: > adaptors/lambda/$(DEPDIR)/$(am__dirstamp)
-adaptors/lambda/lambda.lo: adaptors/lambda/$(am__dirstamp) \
- adaptors/lambda/$(DEPDIR)/$(am__dirstamp)
libsigc-@SIGCXX_API_VERSION@.la: $(libsigc_@SIGCXX_API_VERSION@_la_OBJECTS) $(libsigc_@SIGCXX_API_VERSION@_la_DEPENDENCIES) $(EXTRA_libsigc_@SIGCXX_API_VERSION@_la_DEPENDENCIES)
$(AM_V_CXXLD)$(libsigc_@SIGCXX_API_VERSION@_la_LINK) -rpath $(libdir) $(libsigc_@SIGCXX_API_VERSION@_la_OBJECTS) $(libsigc_@SIGCXX_API_VERSION@_la_LIBADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
- -rm -f adaptors/lambda/*.$(OBJEXT)
- -rm -f adaptors/lambda/*.lo
-rm -f functors/*.$(OBJEXT)
-rm -f functors/*.lo
-rm -f *.tab.c
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/connection.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lambda.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/signal.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/signal_base.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/trackable.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@adaptors/lambda/$(DEPDIR)/lambda.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@functors/$(DEPDIR)/slot.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@functors/$(DEPDIR)/slot_base.Plo@am__quote@
clean-libtool:
-rm -rf .libs _libs
- -rm -rf adaptors/lambda/.libs adaptors/lambda/_libs
-rm -rf functors/.libs functors/_libs
install-nobase_library_includeHEADERS: $(nobase_library_include_HEADERS)
@$(NORMAL_INSTALL)
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
- -rm -f adaptors/lambda/$(DEPDIR)/$(am__dirstamp)
- -rm -f adaptors/lambda/$(am__dirstamp)
-rm -f functors/$(DEPDIR)/$(am__dirstamp)
-rm -f functors/$(am__dirstamp)
mostlyclean-am
distclean: distclean-am
- -rm -rf ./$(DEPDIR) adaptors/lambda/$(DEPDIR) functors/$(DEPDIR)
+ -rm -rf ./$(DEPDIR) functors/$(DEPDIR)
-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
distclean-tags
installcheck-am:
maintainer-clean: maintainer-clean-am
- -rm -rf ./$(DEPDIR) adaptors/lambda/$(DEPDIR) functors/$(DEPDIR)
+ -rm -rf ./$(DEPDIR) functors/$(DEPDIR)
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
functors/mem_fun.h \
functors/functor_trait.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
-
functors/slot.cc: \
functors/slot.h \
functors/slot_base.h \
#include <sigc++/adaptors/compose.h>
#include <sigc++/adaptors/exception_catch.h>
#include <sigc++/adaptors/track_obj.h>
-#include <sigc++/adaptors/lambda/lambda.h>
#endif /* _SIGC_ADAPTOR_HPP_ */
* // 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 the total
- * number of parameters called is variable.
- *
* @ingroup adaptors
*/
* 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 the total
- * number of parameters called is variable.
- *
* @ingroup adaptors
*/
* 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 the total
- * number of parameters called is variable.
- *
* @ingroup adaptors
*/
+++ /dev/null
-// -*- c++ -*-
-/* Do not edit! -- generated file */
-#ifndef _SIGC_LAMBDA_BASE_HPP_
-#define _SIGC_LAMBDA_BASE_HPP_
-#include <sigc++/adaptors/adaptor_trait.h>
-#include <sigc++/reference_wrapper.h>
-
-#ifndef SIGCXX_DISABLE_DEPRECATED
-
-namespace sigc {
-
-/** @defgroup lambdas Lambdas
- * libsigc++ ships with basic lambda functionality and the sigc::group adaptor,
- * which uses lambdas to transform a functor's parameter list.
- *
- * The lambda selectors sigc::_1, sigc::_2, ..., sigc::_7 are used to select the
- * first, second, ..., seventh 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, for example, lambda selectors can be used 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
- *
- * If your compiler supports C++11 lambda expressions, they are often a good
- * alternative to libsigc++'s lambda expressions. The following examples are
- * equivalent to the previous ones.
- * @code
- * [] (int x, int, int) -> int { return x; }(10,20,30); // returns 10
- * [] (int, int y, int) -> int { return y; }(10,20,30); // returns 20
- * [] (int x) -> int { return x + 5; }(3); // returns (3 + 5)
- * [] (int x, int y) -> int { return x * y; }(7,10); // returns (7 * 10)
- * @endcode
- *
- * @deprecated Use C++11 lambda expressions or %std::bind() instead.
- */
-
-/** A hint to the compiler.
- * All lambda types publically inherit from this hint.
- *
- * @deprecated Use C++11 lambda expressions instead.
- *
- * @ingroup lambdas
- */
-struct lambda_base : public adaptor_base {};
-
-#ifndef DOXYGEN_SHOULD_SKIP_THIS
-// 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.
- *
- * @deprecated Use C++11 lambda expressions instead.
- *
- * @ingroup lambdas
- */
-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).
- *
- * @deprecated Use C++11 lambda expressions instead.
- *
- * @ingroup lambdas
- */
-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).
- *
- * @deprecated Use C++11 lambda expressions instead.
- *
- * @ingroup lambdas
- */
-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) const
- { return value_; }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1>
- result_type sun_forte_workaround(T_arg1) const
- { return value_; }
- #endif //SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
-
- template <class T_arg1, class T_arg2>
- result_type operator ()(T_arg1, T_arg2) const
- { return value_; }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1, class T_arg2>
- result_type sun_forte_workaround(T_arg1, T_arg2) const
- { return value_; }
- #endif //SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
-
- template <class T_arg1, class T_arg2, class T_arg3>
- result_type operator ()(T_arg1, T_arg2, T_arg3) 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, T_arg2, T_arg3) 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, T_arg2, T_arg3, T_arg4) 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, T_arg2, T_arg3, T_arg4) 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, T_arg2, T_arg3, T_arg4, T_arg5) 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, T_arg2, T_arg3, T_arg4, T_arg5) 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, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6) 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, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6) 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, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7) 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, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7) 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 specialization of visitor<>::do_visit_each<>(action, functor):
-template <class T_functor, bool I_islambda>
-struct visitor<internal::lambda_core<T_functor, I_islambda> >
-{
- template <class T_action>
- static void do_visit_each(const T_action& _A_action,
- const internal::lambda_core<T_functor, I_islambda>& _A_target)
- {
- sigc::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;
-#endif // DOXYGEN_SHOULD_SKIP_THIS
-
-/** Gets the object stored inside a lambda object.
- * Returns the object passed as argument, if it is not of type lambda.
- *
- * @deprecated Use C++11 lambda expressions instead of libsigc++ lambdas.
- *
- * @ingroup lambdas
- */
-template <class T_type>
-T_type& unwrap_lambda_value(T_type& a)
-{ return a; }
-
-/** Gets the object stored inside a lambda object.
- * Returns the object passed as argument, if it is not of type lambda.
- *
- * @deprecated Use C++11 lambda expressions instead of libsigc++ lambdas.
- *
- * @ingroup lambdas
- */
-template <class T_type>
-const T_type& unwrap_lambda_value(const T_type& a)
-{ return a; }
-
-/** Gets the object stored inside a lambda object.
- *
- * @deprecated Use C++11 lambda expressions instead of libsigc++ lambdas.
- *
- * @ingroup lambdas
- */
-template <class T_type>
-const T_type& unwrap_lambda_value(const lambda<T_type>& a)
-{ return a.value_; }
-
-
-/** 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.
- *
- * @deprecated Use C++11 lambda expressions instead.
- *
- * @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))); }
-};
-
-#ifndef DOXYGEN_SHOULD_SKIP_THIS
-//template specialization of visitor<>::do_visit_each<>(action, functor):
-template <class T_type>
-struct visitor<lambda<T_type> >
-{
- template <class T_action>
- static void do_visit_each(const T_action& _A_action,
- const lambda<T_type>& _A_target)
- {
- sigc::visit_each(_A_action, _A_target.value_);
- }
-};
-#endif // DOXYGEN_SHOULD_SKIP_THIS
-
-
-/** Converts a reference into a lambda object.
- * sigc::var creates a 0-ary functor, returning the value of a referenced variable.
- *
- * @par Example:
- * @code
- * int main(int argc, char* argv)
- * {
- * int data;
- * sigc::signal<int> readValue;
- *
- * readValue.connect(sigc::var(data));
- *
- * data = 3;
- * std::cout << readValue() << std::endl; //Prints 3.
- *
- * data = 5;
- * std::cout << readValue() << std::endl; //Prints 5.
- * }
- * @endcode
- *
- * If your compiler supports C++11 lambda expressions, and you use the macro
- * #SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE, you can replace
- * @code
- * readValue.connect(sigc::var(data));
- * @endcode
- * in the example by
- * @code
- * readValue.connect([&data] () -> int { return data; });
- * @endcode
- *
- * @deprecated Use C++11 lambda expressions instead of libsigc++ lambdas.
- *
- * @ingroup lambdas
- */
-template <class T_type>
-lambda<T_type&> var(T_type& v)
-{ return lambda<T_type&>(v); }
-
-/** Converts a constant reference into a lambda object.
- *
- * @deprecated Use C++11 lambda expressions instead of libsigc++ lambdas.
- *
- * @ingroup lambdas
- */
-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 not of lambda type,
- * type is defined to unwrap_reference<T_type>::type.
- *
- * @deprecated Use C++11 lambda expressions instead of libsigc++ lambdas.
- *
- * @ingroup lambdas
- */
-template <class T_type>
-struct unwrap_lambda_type
-{ typedef typename unwrap_reference<T_type>::type type; };
-
-/** Deduces the type of the object stored in an object of the passed lambda type.
- *
- * @deprecated Use C++11 lambda expressions instead of libsigc++ lambdas.
- *
- * @ingroup lambdas
- */
-template <class T_type>
-struct unwrap_lambda_type<lambda<T_type> >
-{ typedef T_type type; };
-
-} /* namespace sigc */
-
-#endif // SIGCXX_DISABLE_DEPRECATED
-
-#endif /* _SIGC_LAMBDA_BASE_HPP_ */
+++ /dev/null
-// -*- c++ -*-
-/* Do not edit! -- generated file */
-#ifndef _SIGC_LAMBDA_GROUP_H_
-#define _SIGC_LAMBDA_GROUP_H_
-#include <sigc++/adaptors/lambda/base.h>
-
-#ifndef SIGCXX_DISABLE_DEPRECATED
-
-/** @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.
- *
- * If you have a C++11 compiler, a C++11 lambda expression and/or %std::bind() is
- * often a good alternative to sigc::group(). Such alternatives are shown in the
- * following examples, marked with the comment <tt>//C++11</tt>.
- *
- * @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)
- * std::bind(&foo, 10, std::placeholders::_1)(20); //C++11
- * sigc::group(&foo,sigc::_1,30)(40); //fixes the second argument and calls foo(40,30)
- * std::bind(&foo, std::placeholders::_1, 30)(40); //C++11
- * // argument reordering ...
- * sigc::group(&foo,sigc::_2,sigc::_1)(1,2); //calls foo(2,1)
- * std::bind(&foo, std::placeholders::_2, std::placeholders::_1)(1,2); //C++11
- * // argument hiding ...
- * sigc::group(&foo,sigc::_1,sigc::_2)(1,2,3); //calls foo(1,2)
- * std::bind(&foo, std::placeholders::_1, std::placeholders::_2)(1,2,3); //C++11
- * // functor composition ...
- * sigc::group(&foo,sigc::_1,sigc::group(&bar,sigc::_2))(1,2); //calls foo(1,bar(2))
- * std::bind(&foo, std::placeholders::_1, std::bind(&bar, std::placeholders::_2))(1,2); //C++11
- * // algebraic expressions ...
- * sigc::group(&foo,sigc::_1*sigc::_2,sigc::_1/sigc::_2)(6,3); //calls foo(6*3,6/3)
- * [] (int x, int y) { foo(x*y, x/y); }(6,3); //C++11
- * @endcode
- *
- * The functor sigc::group() returns can be passed into sigc::signal::connect() directly.
- * A C++11 lambda expression can be passed into sigc::signal::connect() directly,
- * if either it returns <tt>void</tt>, or you use #SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE.
- *
- * @par Example:
- * @code
- * sigc::signal<void,int,int> some_signal;
- * void foo(int);
- * some_signal.connect(sigc::group(&foo,sigc::_2));
- * some_signal.connect([](int, int y) { foo(y); }); //C++11
- * @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)));
- * some_signal.connect([&some_int](){ foo(some_int); }); //C++11
- * @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.
- *
- * If you bind an object of a sigc::trackable derived type to a C++11 lambda expression
- * by reference, a slot assigned to the lambda expression is cleared automatically
- * when the object goes out of scope only if you use sigc::track_obj().
- *
- * @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
- * some_signal.connect([&some_bar](){ foo(some_bar); }); //C++11
- * // NOT disconnected automatically if some_bar goes out of scope
- * some_signal.connect(sigc::track_obj([&some_bar](){ foo(some_bar); }, some_bar)); //C++11
- * // disconnected automatically if some_bar goes out of scope
- * @endcode
- *
- * @deprecated Use C++11 lambda expressions or %std::bind() instead.
- *
- * @ingroup adaptors lambdas
- */
-
-namespace sigc {
-
-/** lambda_group1 wraps a functor and rebuilds its arguments from 1 lambda expressions.
- * Use the convenience function group() to create an instance of lambda_group1.
- *
- * @deprecated Use C++11 lambda expressions or %std::bind() instead.
- *
- * @ingroup lambdas
- */
-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;
-
-#ifndef 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 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; };
-#endif
-
- 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_;
-};
-
-#ifndef DOXYGEN_SHOULD_SKIP_THIS
-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 specialization of visitor<>::do_visit_each<>(action, functor):
-template <class T_functor, class T_type1>
-struct visitor<lambda_group1<T_functor, T_type1> >
-{
- template <class T_action>
- static void do_visit_each(const T_action& _A_action,
- const lambda_group1<T_functor, T_type1>& _A_target)
- {
- sigc::visit_each(_A_action, _A_target.value1_);
- sigc::visit_each(_A_action, _A_target.func_);
- }
-};
-#endif // DOXYGEN_SHOULD_SKIP_THIS
-
-/** lambda_group2 wraps a functor and rebuilds its arguments from 2 lambda expressions.
- * Use the convenience function group() to create an instance of lambda_group2.
- *
- * @deprecated Use C++11 lambda expressions or %std::bind() instead.
- *
- * @ingroup lambdas
- */
-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;
-
-#ifndef 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 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; };
-#endif
-
- 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_;
-};
-
-#ifndef DOXYGEN_SHOULD_SKIP_THIS
-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 specialization of visitor<>::do_visit_each<>(action, functor):
-template <class T_functor, class T_type1, class T_type2>
-struct visitor<lambda_group2<T_functor, T_type1, T_type2> >
-{
- template <class T_action>
- static void do_visit_each(const T_action& _A_action,
- const lambda_group2<T_functor, T_type1, T_type2>& _A_target)
- {
- sigc::visit_each(_A_action, _A_target.value1_);
- sigc::visit_each(_A_action, _A_target.value2_);
- sigc::visit_each(_A_action, _A_target.func_);
- }
-};
-#endif // DOXYGEN_SHOULD_SKIP_THIS
-
-/** lambda_group3 wraps a functor and rebuilds its arguments from 3 lambda expressions.
- * Use the convenience function group() to create an instance of lambda_group3.
- *
- * @deprecated Use C++11 lambda expressions or %std::bind() instead.
- *
- * @ingroup lambdas
- */
-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;
-
-#ifndef 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 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; };
-#endif
-
- 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_;
-};
-
-#ifndef DOXYGEN_SHOULD_SKIP_THIS
-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 specialization of visitor<>::do_visit_each<>(action, functor):
-template <class T_functor, class T_type1, class T_type2, class T_type3>
-struct visitor<lambda_group3<T_functor, T_type1, T_type2, T_type3> >
-{
- template <class T_action>
- static void do_visit_each(const T_action& _A_action,
- const lambda_group3<T_functor, T_type1, T_type2, T_type3>& _A_target)
- {
- sigc::visit_each(_A_action, _A_target.value1_);
- sigc::visit_each(_A_action, _A_target.value2_);
- sigc::visit_each(_A_action, _A_target.value3_);
- sigc::visit_each(_A_action, _A_target.func_);
- }
-};
-#endif // DOXYGEN_SHOULD_SKIP_THIS
-
-
-/** Alters an arbitrary functor by rebuilding its arguments from 1 lambda expressions.
- *
- * @deprecated Use C++11 lambda expressions or %std::bind() instead.
- *
- * @ingroup lambdas
- */
-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));
-}
-
-/** Alters an arbitrary functor by rebuilding its arguments from 2 lambda expressions.
- *
- * @deprecated Use C++11 lambda expressions or %std::bind() instead.
- *
- * @ingroup lambdas
- */
-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));
-}
-
-/** Alters an arbitrary functor by rebuilding its arguments from 3 lambda expressions.
- *
- * @deprecated Use C++11 lambda expressions or %std::bind() instead.
- *
- * @ingroup lambdas
- */
-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 // SIGCXX_DISABLE_DEPRECATED
-#endif /* _SIGC_LAMBDA_GROUP_H_ */
+++ /dev/null
-// -*- c++ -*-
-/* Do not edit! -- generated file */
-#include <sigc++/adaptors/lambda/select.h>
-
-#ifndef SIGCXX_DISABLE_DEPRECATED
-
-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 */
-
-#endif // SIGCXX_DISABLE_DEPRECATED
+++ /dev/null
-// -*- 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_ */
+++ /dev/null
-dnl Copyright 2002, The libsigc++ Development Team
-dnl
-dnl This library is free software; you can redistribute it and/or
-dnl modify it under the terms of the GNU Lesser General Public
-dnl License as published by the Free Software Foundation; either
-dnl version 2.1 of the License, or (at your option) any later version.
-dnl
-dnl This library is distributed in the hope that it will be useful,
-dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
-dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-dnl Lesser General Public License for more details.
-dnl
-dnl You should have received a copy of the GNU Lesser General Public
-dnl License along with this library; if not, write to the Free Software
-dnl Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-dnl
-divert(-1)
-include(template.macros.m4)
-
-define([LAMBDA_DO],[dnl
- template <LOOP(class T_arg%1, $1)>
- typename deduce_result_type<LOOP(T_arg%1,$1)>::type
- operator ()(LOOP(T_arg%1 _A_%1, $1)) const
- { return value_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<LOOP(_P_(T_arg%1), $1)>
- (LOOP(_A_%1, $1));
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <LOOP(class T_arg%1, $1)>
- typename deduce_result_type<LOOP(T_arg%1,$1)>::type
- sun_forte_workaround(LOOP(T_arg%1 _A_%1, $1)) const
- { return value_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<LOOP(_P_(T_arg%1), $1)>
- (LOOP(_A_%1, $1));
- }
- #endif //SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
-
-])dnl
-define([LAMBDA_DO_VALUE],[dnl
- template <LOOP(class T_arg%1, $1)>
- result_type operator ()(LOOP(T_arg%1, $1)) const
- { return value_; }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <LOOP(class T_arg%1, $1)>
- result_type sun_forte_workaround(LOOP(T_arg%1, $1)) const
- { return value_; }
- #endif //SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
-
-])dnl
-
-divert(0)dnl
-#ifndef _SIGC_LAMBDA_BASE_HPP_
-#define _SIGC_LAMBDA_BASE_HPP_
-#include <sigc++/adaptors/adaptor_trait.h>
-#include <sigc++/reference_wrapper.h>
-
-_DEPRECATE_IFDEF_START
-
-namespace sigc {
-
-/** @defgroup lambdas Lambdas
- * libsigc++ ships with basic lambda functionality and the sigc::group adaptor,
- * which uses lambdas to transform a functor's parameter list.
- *
- * The lambda selectors sigc::_1, sigc::_2, ..., sigc::_7 are used to select the
- * first, second, ..., seventh 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, for example, lambda selectors can be used 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
- *
- * If your compiler supports C++11 lambda expressions, they are often a good
- * alternative to libsigc++'s lambda expressions. The following examples are
- * equivalent to the previous ones.
- * @code
- * [[]] (int x, int, int) -> int { return x; }(10,20,30); // returns 10
- * [[]] (int, int y, int) -> int { return y; }(10,20,30); // returns 20
- * [[]] (int x) -> int { return x + 5; }(3); // returns (3 + 5)
- * [[]] (int x, int y) -> int { return x * y; }(7,10); // returns (7 * 10)
- * @endcode
- *
- * @deprecated Use C++11 lambda expressions or %std::bind() instead.
- */
-
-/** A hint to the compiler.
- * All lambda types publically inherit from this hint.
- *
- * @deprecated Use C++11 lambda expressions instead.
- *
- * @ingroup lambdas
- */
-struct lambda_base : public adaptor_base {};
-
-#ifndef DOXYGEN_SHOULD_SKIP_THIS
-// 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.
- *
- * @deprecated Use C++11 lambda expressions instead.
- *
- * @ingroup lambdas
- */
-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).
- *
- * @deprecated Use C++11 lambda expressions instead.
- *
- * @ingroup lambdas
- */
-template <class T_type>
-struct lambda_core<T_type, true> : public lambda_base
-{
- template <LOOP(class T_arg%1=void,CALL_SIZE)>
- struct deduce_result_type
- { typedef typename T_type::template deduce_result_type<LOOP(_P_(T_arg%1),CALL_SIZE)>::type type; };
- typedef typename T_type::result_type result_type;
- typedef T_type lambda_type;
-
- result_type
- operator()() const;
-
-FOR(1,CALL_SIZE,[[LAMBDA_DO(%1)]])dnl
- 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).
- *
- * @deprecated Use C++11 lambda expressions instead.
- *
- * @ingroup lambdas
- */
-template <class T_type>
-struct lambda_core<T_type, false> : public lambda_base
-{
- template <LOOP(class T_arg%1=void,CALL_SIZE)>
- 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;
-
-FOR(1,CALL_SIZE,[[LAMBDA_DO_VALUE(%1)]])dnl
- 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 specialization of visitor<>::do_visit_each<>(action, functor):
-template <class T_functor, bool I_islambda>
-struct visitor<internal::lambda_core<T_functor, I_islambda> >
-{
- template <class T_action>
- static void do_visit_each(const T_action& _A_action,
- const internal::lambda_core<T_functor, I_islambda>& _A_target)
- {
- sigc::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;
-#endif // DOXYGEN_SHOULD_SKIP_THIS
-
-/** Gets the object stored inside a lambda object.
- * Returns the object passed as argument, if it is not of type lambda.
- *
- * @deprecated Use C++11 lambda expressions instead of libsigc++ lambdas.
- *
- * @ingroup lambdas
- */
-template <class T_type>
-T_type& unwrap_lambda_value(T_type& a)
-{ return a; }
-
-/** Gets the object stored inside a lambda object.
- * Returns the object passed as argument, if it is not of type lambda.
- *
- * @deprecated Use C++11 lambda expressions instead of libsigc++ lambdas.
- *
- * @ingroup lambdas
- */
-template <class T_type>
-const T_type& unwrap_lambda_value(const T_type& a)
-{ return a; }
-
-/** Gets the object stored inside a lambda object.
- *
- * @deprecated Use C++11 lambda expressions instead of libsigc++ lambdas.
- *
- * @ingroup lambdas
- */
-template <class T_type>
-const T_type& unwrap_lambda_value(const lambda<T_type>& a)
-{ return a.value_; }
-
-
-/** 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.
- *
- * @deprecated Use C++11 lambda expressions instead.
- *
- * @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))); }
-};
-
-#ifndef DOXYGEN_SHOULD_SKIP_THIS
-//template specialization of visitor<>::do_visit_each<>(action, functor):
-template <class T_type>
-struct visitor<lambda<T_type> >
-{
- template <class T_action>
- static void do_visit_each(const T_action& _A_action,
- const lambda<T_type>& _A_target)
- {
- sigc::visit_each(_A_action, _A_target.value_);
- }
-};
-#endif // DOXYGEN_SHOULD_SKIP_THIS
-
-dnl /* With the Sun FORTE and the Compaq C++ compiler,
-dnl * sigc::var() doesn't work with string constants.
-dnl * Some work-araound is needed to convert 'const (&) char[N]'
-dnl * into 'const char*'. The following work-around works with gcc
-dnl * but neither with the Sun FORTE nor with the Compaq C++ compiler
-dnl * (for the gcc the work-around is not needed, anyway):
-dnl */
-dnl namespace internal {
-dnl
-dnl template <class T_type>
-dnl struct convert_array
-dnl { typedef T_type& type; };
-dnl
-dnl template <class T_type, int N>
-dnl struct convert_array<T_type[[N]]>
-dnl { typedef T_type* type; };
-dnl
-dnl } /* namespace internal */
-dnl
-dnl /// Converts a constant variable into a lambda object.
-dnl template <class T_type>
-dnl lambda<T_type> constant(const T_type& v)
-dnl { return lambda<T_type>(v); }
-dnl
-dnl /// Converts a reference into a lambda object.
-dnl template <class T_type>
-dnl lambda<typename internal::convert_array<T_type>::type> var(T_type& v)
-dnl { return lambda<typename internal::convert_array<T_type>::type>(v); }
-dnl
-dnl /// Converts a constant reference into a lambda object.
-dnl template <class T_type>
-dnl lambda<typename internal::convert_array<const T_type>::type> var(const T_type& v)
-dnl { return lambda<typename internal::convert_array<const T_type>::type>(v); }
-
-/** Converts a reference into a lambda object.
- * sigc::var creates a 0-ary functor, returning the value of a referenced variable.
- *
- * @par Example:
- * @code
- * int main(int argc, char* argv[])
- * {
- * int data;
- * sigc::signal<int> readValue;
- *
- * readValue.connect(sigc::var(data));
- *
- * data = 3;
- * std::cout << readValue() << std::endl; //Prints 3.
- *
- * data = 5;
- * std::cout << readValue() << std::endl; //Prints 5.
- * }
- * @endcode
- *
- * If your compiler supports C++11 lambda expressions, and you use the macro
- * #SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE, you can replace
- * @code
- * readValue.connect(sigc::var(data));
- * @endcode
- * in the example by
- * @code
- * readValue.connect([[&data]] () -> int { return data; });
- * @endcode
- *
- * @deprecated Use C++11 lambda expressions instead of libsigc++ lambdas.
- *
- * @ingroup lambdas
- */
-template <class T_type>
-lambda<T_type&> var(T_type& v)
-{ return lambda<T_type&>(v); }
-
-/** Converts a constant reference into a lambda object.
- *
- * @deprecated Use C++11 lambda expressions instead of libsigc++ lambdas.
- *
- * @ingroup lambdas
- */
-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 not of lambda type,
- * type is defined to unwrap_reference<T_type>::type.
- *
- * @deprecated Use C++11 lambda expressions instead of libsigc++ lambdas.
- *
- * @ingroup lambdas
- */
-template <class T_type>
-struct unwrap_lambda_type
-{ typedef typename unwrap_reference<T_type>::type type; };
-
-/** Deduces the type of the object stored in an object of the passed lambda type.
- *
- * @deprecated Use C++11 lambda expressions instead of libsigc++ lambdas.
- *
- * @ingroup lambdas
- */
-template <class T_type>
-struct unwrap_lambda_type<lambda<T_type> >
-{ typedef T_type type; };
-
-} /* namespace sigc */
-
-_DEPRECATE_IFDEF_END
-
-#endif /* _SIGC_LAMBDA_BASE_HPP_ */
+++ /dev/null
-dnl Copyright 2002, The libsigc++ Development Team
-dnl
-dnl This library is free software; you can redistribute it and/or
-dnl modify it under the terms of the GNU Lesser General Public
-dnl License as published by the Free Software Foundation; either
-dnl version 2.1 of the License, or (at your option) any later version.
-dnl
-dnl This library is distributed in the hope that it will be useful,
-dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
-dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-dnl Lesser General Public License for more details.
-dnl
-dnl You should have received a copy of the GNU Lesser General Public
-dnl License along with this library; if not, write to the Free Software
-dnl Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-dnl
-divert(-1)
-include(template.macros.m4)
-
-dnl
-dnl How to call the darn thing!
-define([LAMBDA_GROUP_FACTORY],[dnl
-/** Alters an arbitrary functor by rebuilding its arguments from $1 lambda expressions.
- *
- * @deprecated Use C++11 lambda expressions or %std::bind() instead.
- *
- * @ingroup lambdas
- */
-template <class T_functor, LOOP(class T_type%1, $1)>
-lambda<lambda_group$1<T_functor, LOOP(typename unwrap_reference<T_type%1>::type, $1)> >
-group(const T_functor& _A_func, LOOP(T_type%1 _A_%1, $1))
-{
- typedef lambda_group$1<T_functor, LOOP(typename unwrap_reference<T_type%1>::type, $1)> T_lambda;
- return lambda<T_lambda>(T_lambda(_A_func, LOOP(_A_%1, $1)));
-}
-
-])
-dnl
-dnl How to call the darn thing!
-define([LAMBDA_GROUP_DO],[dnl
-define([_L_],[LOOP(_A_%1, $2)])dnl
-define([_T_],[LOOP(T_arg%1, $2)])dnl
-dnl Please someone get a gun!
- template <LOOP(class T_arg%1, $2)>
- typename deduce_result_type<LOOP(T_arg%1,$2)>::type
- operator() (LOOP(T_arg%1 _A_%1, $2)) const
- { return this->func_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<LOOP([
- typename value%1_type::template deduce_result_type<LOOP(T_arg%1,$2)>::type],$1)>(LOOP([
- this->value%1_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<LOOP([
- _P_(T_arg%1)],$2)>(_L_)],$1)); }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <LOOP(class T_arg%1, $2)>
- typename deduce_result_type<LOOP(T_arg%1,$2)>::type
- sun_forte_workaround (LOOP(T_arg%1 _A_%1, $2)) const
- { return this->func_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<LOOP([
- typename value%1_type::template deduce_result_type<LOOP(T_arg%1,$2)>::type],$1)>(LOOP([
- this->value%1_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<LOOP([
- _P_(T_arg%1)],$2)>(_L_)],$1)); }
- #endif //SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
-
-])
-dnl
-dnl This really doesn't have much to do with lambda other than
-dnl holding lambdas within itself.
-define([LAMBDA_GROUP],[dnl
-/** lambda_group$1 wraps a functor and rebuilds its arguments from $1 lambda expressions.
- * Use the convenience function group() to create an instance of lambda_group$1.
- *
- * @deprecated Use C++11 lambda expressions or %std::bind() instead.
- *
- * @ingroup lambdas
- */
-template <class T_functor, LOOP(class T_type%1, $1)>
-struct lambda_group$1 : public lambda_base
-{
- typedef typename functor_trait<T_functor>::result_type result_type;dnl
-FOR(1, $1,[
- typedef typename lambda<T_type%1>::lambda_type value%1_type;])
- typedef typename adaptor_trait<T_functor>::adaptor_type functor_type;
-
-#ifndef DOXYGEN_SHOULD_SKIP_THIS
- template <LOOP(class T_arg%1=void,$2)>
- struct deduce_result_type
- { typedef typename functor_type::template deduce_result_type<LOOP([
- typename value%1_type::template deduce_result_type<LOOP([
- _P_(T_arg%1)],$2)>::type],$1)
- >::type type; };
-#endif
-
- result_type
- operator ()() const;
-
-FOR(1,CALL_SIZE,[[LAMBDA_GROUP_DO($1,%1)]])dnl
- lambda_group$1(typename type_trait<T_functor>::take _A_func, LOOP(typename type_trait<T_type%1>::take _A_%1, $1))
- : LOOP(value%1_(_A_%1), $1), func_(_A_func) {}dnl
-
-FOR(1, $1,[
- value%1_type value%1_;])
- mutable functor_type func_;
-};
-
-#ifndef DOXYGEN_SHOULD_SKIP_THIS
-template <class T_functor, LOOP(class T_type%1, $1)>
-typename lambda_group$1<T_functor, LOOP(T_type%1, $1)>::result_type
-lambda_group$1<T_functor, LOOP(T_type%1, $1)>::operator ()() const
- { return func_(LOOP(value%1_(), $1)); }
-
-//template specialization of visitor<>::do_visit_each<>(action, functor):
-template <class T_functor, LOOP(class T_type%1, $1)>
-struct visitor<lambda_group$1<T_functor, LOOP(T_type%1, $1)> >
-{
- template <class T_action>
- static void do_visit_each(const T_action& _A_action,
- const lambda_group$1<T_functor, LOOP(T_type%1, $1)>& _A_target)
- {dnl
-FOR(1, $1,[
- sigc::visit_each(_A_action, _A_target.value%1_);])
- sigc::visit_each(_A_action, _A_target.func_);
- }
-};
-#endif // DOXYGEN_SHOULD_SKIP_THIS
-
-])
-divert(0)dnl
-_FIREWALL([LAMBDA_GROUP])
-#include <sigc++/adaptors/lambda/base.h>
-
-_DEPRECATE_IFDEF_START
-
-/** @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.
- *
- * If you have a C++11 compiler, a C++11 lambda expression and/or %std::bind() is
- * often a good alternative to sigc::group(). Such alternatives are shown in the
- * following examples, marked with the comment <tt>//C++11</tt>.
- *
- * @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)
- * std::bind(&foo, 10, std::placeholders::_1)(20); //C++11
- * sigc::group(&foo,sigc::_1,30)(40); //fixes the second argument and calls foo(40,30)
- * std::bind(&foo, std::placeholders::_1, 30)(40); //C++11
- * // argument reordering ...
- * sigc::group(&foo,sigc::_2,sigc::_1)(1,2); //calls foo(2,1)
- * std::bind(&foo, std::placeholders::_2, std::placeholders::_1)(1,2); //C++11
- * // argument hiding ...
- * sigc::group(&foo,sigc::_1,sigc::_2)(1,2,3); //calls foo(1,2)
- * std::bind(&foo, std::placeholders::_1, std::placeholders::_2)(1,2,3); //C++11
- * // functor composition ...
- * sigc::group(&foo,sigc::_1,sigc::group(&bar,sigc::_2))(1,2); //calls foo(1,bar(2))
- * std::bind(&foo, std::placeholders::_1, std::bind(&bar, std::placeholders::_2))(1,2); //C++11
- * // algebraic expressions ...
- * sigc::group(&foo,sigc::_1*sigc::_2,sigc::_1/sigc::_2)(6,3); //calls foo(6*3,6/3)
- * [[]] (int x, int y) { foo(x*y, x/y); }(6,3); //C++11
- * @endcode
- *
- * The functor sigc::group() returns can be passed into sigc::signal::connect() directly.
- * A C++11 lambda expression can be passed into sigc::signal::connect() directly,
- * if either it returns <tt>void</tt>, or you use #SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE.
- *
- * @par Example:
- * @code
- * sigc::signal<void,int,int> some_signal;
- * void foo(int);
- * some_signal.connect(sigc::group(&foo,sigc::_2));
- * some_signal.connect([[]](int, int y) { foo(y); }); //C++11
- * @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)));
- * some_signal.connect([[&some_int]](){ foo(some_int); }); //C++11
- * @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.
- *
- * If you bind an object of a sigc::trackable derived type to a C++11 lambda expression
- * by reference, a slot assigned to the lambda expression is cleared automatically
- * when the object goes out of scope only if you use sigc::track_obj().
- *
- * @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
- * some_signal.connect([[&some_bar]](){ foo(some_bar); }); //C++11
- * // NOT disconnected automatically if some_bar goes out of scope
- * some_signal.connect(sigc::track_obj([[&some_bar]](){ foo(some_bar); }, some_bar)); //C++11
- * // disconnected automatically if some_bar goes out of scope
- * @endcode
- *
- * @deprecated Use C++11 lambda expressions or %std::bind() instead.
- *
- * @ingroup adaptors lambdas
- */
-
-namespace sigc {
-
-FOR(1,3,[[LAMBDA_GROUP(%1, CALL_SIZE)]])
-FOR(1,3,[[LAMBDA_GROUP_FACTORY(%1)]])
-
-} /* namespace sigc */
-
-_DEPRECATE_IFDEF_END
+++ /dev/null
-dnl Copyright 2002, The libsigc++ Development Team
-dnl
-dnl This library is free software; you can redistribute it and/or
-dnl modify it under the terms of the GNU Lesser General Public
-dnl License as published by the Free Software Foundation; either
-dnl version 2.1 of the License, or (at your option) any later version.
-dnl
-dnl This library is distributed in the hope that it will be useful,
-dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
-dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-dnl Lesser General Public License for more details.
-dnl
-dnl You should have received a copy of the GNU Lesser General Public
-dnl License along with this library; if not, write to the Free Software
-dnl Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-dnl
-divert(-1)
-include(template.macros.m4)
-divert(0)dnl
-#include <sigc++/adaptors/lambda/select.h>
-
-_DEPRECATE_IFDEF_START
-
-namespace sigc {
-
-FOR(1,CALL_SIZE,[[const lambda<internal::lambda_select%1> _%1;
-]])
-} /* namespace sigc */
-
-_DEPRECATE_IFDEF_END
+++ /dev/null
-dnl Copyright 2002, The libsigc++ Development Team
-dnl
-dnl This library is free software; you can redistribute it and/or
-dnl modify it under the terms of the GNU Lesser General Public
-dnl License as published by the Free Software Foundation; either
-dnl version 2.1 of the License, or (at your option) any later version.
-dnl
-dnl This library is distributed in the hope that it will be useful,
-dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
-dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-dnl Lesser General Public License for more details.
-dnl
-dnl You should have received a copy of the GNU Lesser General Public
-dnl License along with this library; if not, write to the Free Software
-dnl Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-dnl
-divert(-1)
-include(template.macros.m4)
-
-dnl
-dnl Macros to make operators
-define([LAMBDA_OPERATOR_DO],[dnl
- template <LOOP(class T_arg%1, $1)>
- typename deduce_result_type<LOOP(T_arg%1,$1)>::type
- operator ()(LOOP(T_arg%1 _A_%1, $1)) const
- {
- return lambda_action<T_action>::template do_action<
- typename deduce_result_type<LOOP(_P_(T_arg%1),$1)>::left_type,
- typename deduce_result_type<LOOP(_P_(T_arg%1),$1)>::right_type>
- (arg1_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<LOOP(_P_(T_arg%1), $1)>
- (LOOP(_A_%1, $1)),
- arg2_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<LOOP(_P_(T_arg%1), $1)>
- (LOOP(_A_%1, $1)));
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <LOOP(class T_arg%1, $1)>
- typename deduce_result_type<LOOP(T_arg%1,$1)>::type
- sun_forte_workaround(LOOP(T_arg%1 _A_%1, $1)) const
- {
- return lambda_action<T_action>::template do_action<
- typename deduce_result_type<LOOP(_P_(T_arg%1),$1)>::left_type,
- typename deduce_result_type<LOOP(_P_(T_arg%1),$1)>::right_type>
- (arg1_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<LOOP(_P_(T_arg%1), $1)>
- (LOOP(_A_%1, $1)),
- arg2_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<LOOP(_P_(T_arg%1), $1)>
- (LOOP(_A_%1, $1)));
- }
- #endif //SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
-
-])dnl
-define([LAMBDA_OPERATOR_UNARY_DO],[dnl
- template <LOOP(class T_arg%1, $1)>
- typename deduce_result_type<LOOP(T_arg%1,$1)>::type
- operator ()(LOOP(T_arg%1 _A_%1, $1)) const
- {
- return lambda_action_unary<T_action>::template do_action<
- typename deduce_result_type<LOOP(_P_(T_arg%1),$1)>::operand_type>
- (arg_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<LOOP(_P_(T_arg%1), $1)>
- (LOOP(_A_%1, $1)));
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <LOOP(class T_arg%1, $1)>
- typename deduce_result_type<LOOP(T_arg%1,$1)>::type
- sun_forte_workaround(LOOP(T_arg%1 _A_%1, $1)) const
- {
- return lambda_action_unary<T_action>::template do_action<
- typename deduce_result_type<LOOP(_P_(T_arg%1),$1)>::operand_type>
- (arg_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<LOOP(_P_(T_arg%1), $1)>
- (LOOP(_A_%1, $1)));
- }
- #endif
-
-])dnl
-define([LAMBDA_OPERATOR_CONVERT_DO],[dnl
- template <LOOP(class T_arg%1, $1)>
- typename deduce_result_type<LOOP(T_arg%1,$1)>::type
- operator ()(LOOP(T_arg%1 _A_%1, $1)) const
- {
- return lambda_action_convert<T_action, T_type>::template do_action<
- typename deduce_result_type<LOOP(_P_(T_arg%1),$1)>::operand_type>
- (arg_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<LOOP(_P_(T_arg%1), $1)>
- (LOOP(_A_%1, $1)));
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <LOOP(class T_arg%1, $1)>
- typename deduce_result_type<LOOP(T_arg%1,$1)>::type
- sun_forte_workaround(LOOP(T_arg%1 _A_%1, $1)) const
- {
- return lambda_action_convert<T_action, T_type>::template do_action<
- typename deduce_result_type<LOOP(_P_(T_arg%1),$1)>::operand_type>
- (arg_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<LOOP(_P_(T_arg%1), $1)>
- (LOOP(_A_%1, $1)));
- }
- #endif
-
-])dnl
-define([LAMBDA_OPERATOR],[dnl
-divert(1)dnl
-template <>
-struct lambda_action<$1 >
-{
- template <class T_arg1, class T_arg2>
- static typename lambda_action_deduce_result_type<$1, T_arg1, T_arg2>::type
- do_action(T_arg1 _A_1, T_arg2 _A_2)
- { return _A_1 $2 _A_2; }
-};
-
-divert(2)dnl
-// Operators for lambda action $1. 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<$1, T_arg1, T_arg2> >
-operator $2 (const lambda<T_arg1>& a1, const lambda<T_arg2>& a2)
-{ typedef lambda_operator<$1, 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<$1, T_arg1, typename unwrap_reference<T_arg2>::type> >
-operator $2 (const lambda<T_arg1>& a1, const T_arg2& a2)
-{ typedef lambda_operator<$1, 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<$1, typename unwrap_reference<T_arg1>::type, T_arg2> >
-operator $2 (const T_arg1& a1, const lambda<T_arg2>& a2)
-{ typedef lambda_operator<$1, typename unwrap_reference<T_arg1>::type, T_arg2> operator_type;
- return lambda<operator_type>(operator_type(a1,a2.value_)); }
-
-divert(0)dnl
-])
-define([LAMBDA_OPERATOR_COMMA],[dnl
-divert(1)dnl
-template <>
-struct lambda_action<$1 >
-{
- template <class T_arg1, class T_arg2>
- static typename lambda_action_deduce_result_type<$1, T_arg1, T_arg2>::type
- do_action(T_arg1 _A_1, T_arg2 _A_2)
- { return (void)_A_1 $2 _A_2; }
-};
-
-divert(2)dnl
-// Operators for lambda action $1. For comma we require that both arguments needs to be of type lamdba
-template <class T_arg1, class T_arg2>
-lambda<lambda_operator<$1, T_arg1, T_arg2> >
-operator $2 (const lambda<T_arg1>& a1, const lambda<T_arg2>& a2)
-{ typedef lambda_operator<$1, T_arg1, T_arg2> operator_type;
- return lambda<operator_type>(operator_type(a1.value_,a2.value_)); }
-divert(0)dnl
-])
-define([LAMBDA_OPERATOR_UNARY],[dnl
-divert(1)dnl
-template <>
-struct lambda_action_unary<$1 >
-{
- template <class T_arg>
- static typename lambda_action_unary_deduce_result_type<$1, T_arg>::type
- do_action(T_arg _Aa)
- { return $2[]_Aa; }
-};
-
-divert(2)dnl
-// Operator for lambda action $1.
-template <class T_arg>
-lambda<lambda_operator_unary<$1, T_arg> >
-operator $2 (const lambda<T_arg>& a)
-{ typedef lambda_operator_unary<$1, T_arg> operator_type;
- return lambda<operator_type>(operator_type(a.value_)); }
-
-divert(0)dnl
-])
-define([LAMBDA_OPERATOR_CONVERT],[dnl
-divert(1)dnl
-template <class T_type>
-struct lambda_action_convert<$1, T_type>
-{
- template <class T_arg>
- static typename lambda_action_convert_deduce_result_type<$1, T_type, T_arg>::type
- do_action(T_arg _Aa)
- { return $2<T_type>(_Aa); }
-};
-
-divert(2)dnl
-// Creators for lambda action $1.
-template <class T_type, class T_arg>
-lambda<lambda_operator_convert<$1, T_type, typename unwrap_lambda_type<T_arg>::type> >
-$2_(const T_arg& a)
-{ typedef lambda_operator_convert<$1, T_type, typename unwrap_lambda_type<T_arg>::type> operator_type;
- return lambda<operator_type>(operator_type(unwrap_lambda_value(a))); }
-
-divert(0)dnl
-])
-divert(0)dnl
-#ifndef _SIGC_LAMBDA_OPERATOR_HPP_
-#define _SIGC_LAMBDA_OPERATOR_HPP_
-#include <sigc++/adaptors/lambda/base.h>
-
-#ifndef DOXYGEN_SHOULD_SKIP_THIS
-
-_DEPRECATE_IFDEF_START
-
-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_ {};
-struct comma {};
-
-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; };
-
-LAMBDA_OPERATOR(arithmetic<plus>,+)dnl
-LAMBDA_OPERATOR(arithmetic<minus>,-)dnl
-LAMBDA_OPERATOR(arithmetic<multiplies>,*)dnl
-LAMBDA_OPERATOR(arithmetic<divides>,/)dnl
-LAMBDA_OPERATOR(arithmetic<modulus>,%)dnl
-LAMBDA_OPERATOR(bitwise<leftshift>,<<)dnl
-LAMBDA_OPERATOR(bitwise<rightshift>,>>)dnl
-LAMBDA_OPERATOR(bitwise<and_>,&)dnl
-LAMBDA_OPERATOR(bitwise<or_>,|)dnl
-LAMBDA_OPERATOR(bitwise<xor_>,^)dnl
-LAMBDA_OPERATOR(logical<and_>,&&)dnl
-LAMBDA_OPERATOR(logical<or_>,||)dnl
-LAMBDA_OPERATOR(relational<less>,<)dnl
-LAMBDA_OPERATOR(relational<greater>,>)dnl
-LAMBDA_OPERATOR(relational<less_equal>,<=)dnl
-LAMBDA_OPERATOR(relational<greater_equal>,>=)dnl
-LAMBDA_OPERATOR(relational<equal_to>,==)dnl
-LAMBDA_OPERATOR(relational<not_equal_to>,!=)dnl
-LAMBDA_OPERATOR(arithmetic_assign<plus>,+=)dnl
-LAMBDA_OPERATOR(arithmetic_assign<minus>,-=)dnl
-LAMBDA_OPERATOR(arithmetic_assign<multiplies>,*=)dnl
-LAMBDA_OPERATOR(arithmetic_assign<divides>,/=)dnl
-LAMBDA_OPERATOR(arithmetic_assign<modulus>,%=)dnl
-LAMBDA_OPERATOR(bitwise_assign<leftshift>,<<=)dnl
-LAMBDA_OPERATOR(bitwise_assign<rightshift>,>>=)dnl
-LAMBDA_OPERATOR(bitwise_assign<and_>,&=)dnl
-LAMBDA_OPERATOR(bitwise_assign<or_>,|=)dnl
-LAMBDA_OPERATOR(bitwise_assign<xor_>,^=)dnl
-LAMBDA_OPERATOR_COMMA(comma,[,])dnl
-divert(1)dnl
-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; }
-};
-
-divert(0)dnl
-
-LAMBDA_OPERATOR_UNARY(unary_arithmetic<pre_increment>,++)dnl
-LAMBDA_OPERATOR_UNARY(unary_arithmetic<pre_decrement>,--)dnl
-LAMBDA_OPERATOR_UNARY(unary_arithmetic<negate>,-)dnl
-LAMBDA_OPERATOR_UNARY(unary_bitwise<not_>,~)dnl
-LAMBDA_OPERATOR_UNARY(unary_logical<not_>,!)dnl
-LAMBDA_OPERATOR_UNARY(unary_other<address>,&)dnl
-LAMBDA_OPERATOR_UNARY(unary_other<dereference>,*)dnl
-LAMBDA_OPERATOR_CONVERT(cast_<reinterpret_>,reinterpret_cast)dnl
-LAMBDA_OPERATOR_CONVERT(cast_<static_>,static_cast)dnl
-LAMBDA_OPERATOR_CONVERT(cast_<dynamic_>,dynamic_cast)dnl
-
-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 {};
-
-undivert(1)
-
-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 <LOOP(class T_arg%1=void,CALL_SIZE)>
- struct deduce_result_type
- { typedef typename arg1_type::template deduce_result_type<LOOP(_P_(T_arg%1),CALL_SIZE)>::type left_type;
- typedef typename arg2_type::template deduce_result_type<LOOP(_P_(T_arg%1),CALL_SIZE)>::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;
-
-FOR(1, CALL_SIZE,[[LAMBDA_OPERATOR_DO]](%1))dnl
- lambda_operator(_R_(T_type1) a1, _R_(T_type2) 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 specialization of visitor<>::do_visit_each<>(action, functor):
-template <class T_lambda_action, class T_arg1, class T_arg2>
-struct visitor<lambda_operator<T_lambda_action, T_arg1, T_arg2> >
-{
- template <class T_action>
- static void do_visit_each(const T_action& _A_action,
- const lambda_operator<T_lambda_action, T_arg1, T_arg2>& _A_target)
- {
- sigc::visit_each(_A_action, _A_target.arg1_);
- sigc::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 <LOOP(class T_arg%1=void,CALL_SIZE)>
- struct deduce_result_type
- { typedef typename arg_type::template deduce_result_type<LOOP(_P_(T_arg%1),CALL_SIZE)>::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;
-
-FOR(1, CALL_SIZE,[[LAMBDA_OPERATOR_UNARY_DO]](%1))dnl
- lambda_operator_unary(_R_(T_type) 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 specialization of visitor<>::do_visit_each<>(action, functor):
-template <class T_lambda_action, class T_arg>
-struct visitor<lambda_operator_unary<T_lambda_action, T_arg> >
-{
- template <class T_action>
- static void do_visit_each(const T_action& _A_action,
- const lambda_operator_unary<T_lambda_action, T_arg>& _A_target)
- {
- sigc::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 <LOOP(class T_arg%1=void,CALL_SIZE)>
- struct deduce_result_type
- { typedef typename arg_type::template deduce_result_type<LOOP(_P_(T_arg%1),CALL_SIZE)>::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;
-
-FOR(1, CALL_SIZE,[[LAMBDA_OPERATOR_CONVERT_DO]](%1))dnl
- lambda_operator_convert(_R_(T_arg) 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 specialization of visitor<>::do_visit_each<>(action, functor):
-template <class T_lambda_action, class T_type, class T_arg>
-struct visitor<lambda_operator_convert<T_lambda_action, T_type, T_arg> >
-{
- template <class T_action>
- static void do_visit_each(const T_action& _A_action,
- const lambda_operator_convert<T_lambda_action, T_type, T_arg>& _A_target)
- {
- sigc::visit_each(_A_action, _A_target.arg_);
- }
-};
-
-undivert(2)dnl
-
-} /* namespace sigc */
-
-_DEPRECATE_IFDEF_END
-
-#endif // DOXYGEN_SHOULD_SKIP_THIS
-
-#endif /* _SIGC_LAMBDA_OPERATOR_HPP_ */
+++ /dev/null
-dnl Copyright 2002, The libsigc++ Development Team
-dnl
-dnl This library is free software; you can redistribute it and/or
-dnl modify it under the terms of the GNU Lesser General Public
-dnl License as published by the Free Software Foundation; either
-dnl version 2.1 of the License, or (at your option) any later version.
-dnl
-dnl This library is distributed in the hope that it will be useful,
-dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
-dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-dnl Lesser General Public License for more details.
-dnl
-dnl You should have received a copy of the GNU Lesser General Public
-dnl License along with this library; if not, write to the Free Software
-dnl Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-dnl
-divert(-1)
-include(template.macros.m4)
-
-dnl
-dnl Macros to make select arguments
-define([LAMBDA_SELECT_DO],[dnl
- template <LOOP(class T_arg%1, $2)>
-dnl T_arg$1 operator ()(LOOP(T_arg%1 _A_%1, $2)) const { return _A_$1; }
- T_arg$1 operator ()(LIST(FOR(1,eval($1-1),[T_arg%1,]),T_arg$1 _A_$1,FOR(eval($1+1),$2,[T_arg%1,]))) const { return _A_$1; }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <LOOP(class T_arg%1, $2)>
- //Does not work: T_arg$1 sun_forte_workaround(LOOP(T_arg%1 _A_%1, $2)) const { return operator()( LOOP(_A_%1, $2) ); }
- T_arg$1 sun_forte_workaround(LIST(FOR(1,eval($1-1),[T_arg%1,]),T_arg$1 _A_$1,FOR(eval($1+1),$2,[T_arg%1,]))) const { return _A_$1; }
- #endif
-
-])
-define([LAMBDA_SELECT],[dnl
-struct lambda_select$1 : public lambda_base
-{
- template <LOOP(class T_arg%1=void,$2)>
- struct deduce_result_type
- { typedef T_arg$1 type; };
- typedef void result_type; // no operator ()() overload
-
- void operator ()() const; // not implemented
-FOR($1, $2,[[LAMBDA_SELECT_DO($1,%1)]])dnl
-};
-
-])
-define([LAMBDA_SELECTOR],[dnl
-/** Lambda selector.
- *
- * @deprecated Use C++11 lambda expressions or %std::bind() instead of libsigc++ lambdas and sigc::group().
- *
- * @ingroup lambdas
- */
-extern SIGC_API const lambda<internal::lambda_select$1> _$1;
-
-])
-
-divert(0)dnl
-#ifndef _SIGC_LAMBDA_SELECT_HPP_
-#define _SIGC_LAMBDA_SELECT_HPP_
-#include <sigc++/adaptors/lambda/base.h>
-
-_DEPRECATE_IFDEF_START
-
-namespace sigc {
-
-namespace internal {
-FOR(1,CALL_SIZE,[[LAMBDA_SELECT(%1,CALL_SIZE)]])dnl
-} /* namespace internal */
-
-FOR(1,CALL_SIZE,[[LAMBDA_SELECTOR(%1)]])dnl
-} /* namespace sigc */
-
-_DEPRECATE_IFDEF_END
-
-#endif /* _SIGC_LAMBDA_SELECT_HPP_ */
+++ /dev/null
-// -*- c++ -*-
-/* Do not edit! -- generated file */
-#ifndef _SIGC_LAMBDA_OPERATOR_HPP_
-#define _SIGC_LAMBDA_OPERATOR_HPP_
-#include <sigc++/adaptors/lambda/base.h>
-
-#ifndef DOXYGEN_SHOULD_SKIP_THIS
-
-#ifndef SIGCXX_DISABLE_DEPRECATED
-
-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_ {};
-struct comma {};
-
-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<comma >
-{
- template <class T_arg1, class T_arg2>
- static typename lambda_action_deduce_result_type<comma, T_arg1, T_arg2>::type
- do_action(T_arg1 _A_1, T_arg2 _A_2)
- { return (void)_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 specialization of visitor<>::do_visit_each<>(action, functor):
-template <class T_lambda_action, class T_arg1, class T_arg2>
-struct visitor<lambda_operator<T_lambda_action, T_arg1, T_arg2> >
-{
- template <class T_action>
- static void do_visit_each(const T_action& _A_action,
- const lambda_operator<T_lambda_action, T_arg1, T_arg2>& _A_target)
- {
- sigc::visit_each(_A_action, _A_target.arg1_);
- sigc::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 specialization of visitor<>::do_visit_each<>(action, functor):
-template <class T_lambda_action, class T_arg>
-struct visitor<lambda_operator_unary<T_lambda_action, T_arg> >
-{
- template <class T_action>
- static void do_visit_each(const T_action& _A_action,
- const lambda_operator_unary<T_lambda_action, T_arg>& _A_target)
- {
- sigc::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 specialization of visitor<>::do_visit_each<>(action, functor):
-template <class T_lambda_action, class T_type, class T_arg>
-struct visitor<lambda_operator_convert<T_lambda_action, T_type, T_arg> >
-{
- template <class T_action>
- static void do_visit_each(const T_action& _A_action,
- const lambda_operator_convert<T_lambda_action, T_type, T_arg>& _A_target)
- {
- sigc::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_)); }
-
-// Operators for lambda action comma. For comma we require that both arguments needs to be of type lamdba
-template <class T_arg1, class T_arg2>
-lambda<lambda_operator<comma, T_arg1, T_arg2> >
-operator , (const lambda<T_arg1>& a1, const lambda<T_arg2>& a2)
-{ typedef lambda_operator<comma, T_arg1, T_arg2> operator_type;
- return lambda<operator_type>(operator_type(a1.value_,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 // SIGCXX_DISABLE_DEPRECATED
-
-#endif // DOXYGEN_SHOULD_SKIP_THIS
-
-#endif /* _SIGC_LAMBDA_OPERATOR_HPP_ */
+++ /dev/null
-// -*- c++ -*-
-/* Do not edit! -- generated file */
-#ifndef _SIGC_LAMBDA_SELECT_HPP_
-#define _SIGC_LAMBDA_SELECT_HPP_
-#include <sigc++/adaptors/lambda/base.h>
-
-#ifndef SIGCXX_DISABLE_DEPRECATED
-
-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) 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) const { return _A_1; }
- #endif
-
- template <class T_arg1, class T_arg2, class T_arg3>
- T_arg1 operator ()(T_arg1 _A_1, T_arg2, T_arg3) 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, T_arg3) 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, T_arg3, T_arg4) 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, T_arg3, T_arg4) 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, T_arg3, T_arg4, T_arg5) 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, T_arg3, T_arg4, T_arg5) 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, T_arg3, T_arg4, T_arg5, T_arg6) 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, T_arg3, T_arg4, T_arg5, T_arg6) 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, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7) 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, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7) 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, 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, T_arg2 _A_2) const { return _A_2; }
- #endif
-
- template <class T_arg1, class T_arg2, class T_arg3>
- T_arg2 operator ()(T_arg1, T_arg2 _A_2, T_arg3) 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, T_arg2 _A_2, T_arg3) const { return _A_2; }
- #endif
-
- template <class T_arg1, class T_arg2, class T_arg3, class T_arg4>
- T_arg2 operator ()(T_arg1, T_arg2 _A_2, T_arg3, T_arg4) 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, T_arg2 _A_2, T_arg3, T_arg4) 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, T_arg2 _A_2, T_arg3, T_arg4, T_arg5) 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, T_arg2 _A_2, T_arg3, T_arg4, T_arg5) 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, T_arg2 _A_2, T_arg3, T_arg4, T_arg5, T_arg6) 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, T_arg2 _A_2, T_arg3, T_arg4, T_arg5, T_arg6) 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, T_arg2 _A_2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7) 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, T_arg2 _A_2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7) 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, T_arg2, 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, T_arg2, 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, T_arg2, T_arg3 _A_3, T_arg4) 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, T_arg2, T_arg3 _A_3, T_arg4) 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, T_arg2, T_arg3 _A_3, T_arg4, T_arg5) 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, T_arg2, T_arg3 _A_3, T_arg4, T_arg5) 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, T_arg2, T_arg3 _A_3, T_arg4, T_arg5, T_arg6) 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, T_arg2, T_arg3 _A_3, T_arg4, T_arg5, T_arg6) 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, T_arg2, T_arg3 _A_3, T_arg4, T_arg5, T_arg6, T_arg7) 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, T_arg2, T_arg3 _A_3, T_arg4, T_arg5, T_arg6, T_arg7) 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, T_arg2, T_arg3, 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, T_arg2, T_arg3, 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, T_arg2, T_arg3, T_arg4 _A_4, T_arg5) 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, T_arg2, T_arg3, T_arg4 _A_4, T_arg5) 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, T_arg2, T_arg3, T_arg4 _A_4, T_arg5, T_arg6) 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, T_arg2, T_arg3, T_arg4 _A_4, T_arg5, T_arg6) 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, T_arg2, T_arg3, T_arg4 _A_4, T_arg5, T_arg6, T_arg7) 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, T_arg2, T_arg3, T_arg4 _A_4, T_arg5, T_arg6, T_arg7) 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, T_arg2, T_arg3, T_arg4, 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, T_arg2, T_arg3, T_arg4, 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, T_arg2, T_arg3, T_arg4, T_arg5 _A_5, T_arg6) 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, T_arg2, T_arg3, T_arg4, T_arg5 _A_5, T_arg6) 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, T_arg2, T_arg3, T_arg4, T_arg5 _A_5, T_arg6, T_arg7) 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, T_arg2, T_arg3, T_arg4, T_arg5 _A_5, T_arg6, T_arg7) 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, T_arg2, T_arg3, T_arg4, T_arg5, 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, T_arg2, T_arg3, T_arg4, T_arg5, 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, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6 _A_6, T_arg7) 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, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6 _A_6, T_arg7) 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, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, 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, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7 _A_7) const { return _A_7; }
- #endif
-
-};
-
-} /* namespace internal */
-
-/** Lambda selector.
- *
- * @deprecated Use C++11 lambda expressions or %std::bind() instead of libsigc++ lambdas and sigc::group().
- *
- * @ingroup lambdas
- */
-extern SIGC_API const lambda<internal::lambda_select1> _1;
-
-/** Lambda selector.
- *
- * @deprecated Use C++11 lambda expressions or %std::bind() instead of libsigc++ lambdas and sigc::group().
- *
- * @ingroup lambdas
- */
-extern SIGC_API const lambda<internal::lambda_select2> _2;
-
-/** Lambda selector.
- *
- * @deprecated Use C++11 lambda expressions or %std::bind() instead of libsigc++ lambdas and sigc::group().
- *
- * @ingroup lambdas
- */
-extern SIGC_API const lambda<internal::lambda_select3> _3;
-
-/** Lambda selector.
- *
- * @deprecated Use C++11 lambda expressions or %std::bind() instead of libsigc++ lambdas and sigc::group().
- *
- * @ingroup lambdas
- */
-extern SIGC_API const lambda<internal::lambda_select4> _4;
-
-/** Lambda selector.
- *
- * @deprecated Use C++11 lambda expressions or %std::bind() instead of libsigc++ lambdas and sigc::group().
- *
- * @ingroup lambdas
- */
-extern SIGC_API const lambda<internal::lambda_select5> _5;
-
-/** Lambda selector.
- *
- * @deprecated Use C++11 lambda expressions or %std::bind() instead of libsigc++ lambdas and sigc::group().
- *
- * @ingroup lambdas
- */
-extern SIGC_API const lambda<internal::lambda_select6> _6;
-
-/** Lambda selector.
- *
- * @deprecated Use C++11 lambda expressions or %std::bind() instead of libsigc++ lambdas and sigc::group().
- *
- * @ingroup lambdas
- */
-extern SIGC_API const lambda<internal::lambda_select7> _7;
-
-} /* namespace sigc */
-
-#endif // SIGCXX_DISABLE_DEPRECATED
-
-#endif /* _SIGC_LAMBDA_SELECT_HPP_ */
* // 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 the total
- * number of parameters called is variable.
- *
* @ingroup adaptors
*/
* 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 the total
- * number of parameters called is variable.
- *
* @ingroup adaptors
*/
* 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 the total
- * number of parameters called is variable.
- *
* @ingroup adaptors
*/
*
* @par Example:
* @code
- * namespace sigc { SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE }
* struct bar : public sigc::trackable {};
* sigc::signal<void> some_signal;
* void foo(bar&);
*
* @par Example:
* @code
- * namespace sigc { SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE }
* struct bar : public sigc::trackable {};
* sigc::signal<void> some_signal;
* void foo(bar&);
retype_return.h hide.h retype.h compose.h exception_catch.h \
track_obj.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
# 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/%)
+ $(adaptors_m4:%=adaptors/macros/%)
sigc_built_cc = $(base_built_cc) \
$(functors_built_cc:%=functors/%) \
- $(adaptors_built_cc:%=adaptors/%) \
- $(lambda_built_cc:%=adaptors/lambda/%)
+ $(adaptors_built_cc:%=adaptors/%)
sigc_built_h = $(base_built_h) \
$(functors_built_h:%=functors/%) \
- $(adaptors_built_h:%=adaptors/%) \
- $(lambda_built_h:%=adaptors/lambda/%)
+ $(adaptors_built_h:%=adaptors/%)
sigc_public_h = \
bind.h \
visit_each.h \
adaptors/adaptors.h \
adaptors/bound_argument.h \
- adaptors/lambda/lambda.h \
functors/functors.h \
functors/slot_base.h
* <tt>typedef T_return result_type;</tt> in the class definition.
* - Use the macro SIGC_FUNCTOR_TRAIT(T_functor,T_return) in namespace sigc.
* Multi-type functors are only partly supported.
+ * - For functors not derived from sigc::functor_base, and not specified with
+ * SIGC_FUNCTOR_TRAIT(), libsigc++ tries to deduce the result type with the
+ * C++11 decltype() specifier. That attempt usually succeeds if the functor
+ * has a single operator()(), but it fails if operator()() is overloaded.
* - Use the macro #SIGC_FUNCTORS_HAVE_RESULT_TYPE, if you want libsigc++ to assume
* that result_type is defined in all user-defined or third party functors,
- * except those for which you specify a return type explicitly with SIGC_FUNCTOR_TRAIT().
- * - Use the macro #SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE, if your
- * compiler makes it possible. Functors with overloaded operator()() are not
- * supported.
+ * whose result type can't be deduced in any other way.
*
- * The last alterative makes it possible to construct a slot from a C++11 lambda
- * expression with any return type. Example:
- * @code
- * namespace sigc {
- * SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE
- * }
- * sigc::slot<bool, int> slot1 = [](int n)-> bool
- * {
- * return n == 42;
- * };
- * @endcode
+ * If all these ways to deduce the result type fail, void is assumed.
+ *
+ * With libsigc++ versions before 2.6, the macro
+ * #SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE activated the test with
+ * decltype(). That macro is now unneccesary and deprecated.
*/
/** A hint to the compiler.
*/
struct functor_base {};
+/** Helper macro, to determine if decltype() can deduce the result type of a functor.
+ *
+ * @ingroup sigcfunctors
+ */
+template <typename T_functor>
+class can_deduce_result_type_with_decltype
+{
+private:
+ struct biggerthanint
+ {
+ int memory1;
+ int memory2;
+ int memory3;
+ int memory4;
+ };
+
+ static biggerthanint check(...);
+
+ // If decltype(&X_functor::operator()) can't be evaluated, this check() overload
+ // is ignored because of the SFINAE rule (Substitution Failure Is Not An Error).
+ template <typename X_functor>
+ static int check(X_functor* obj, decltype(&X_functor::operator()) p = nullptr);
+
+public:
+ static const bool value
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+ = sizeof(check(static_cast<T_functor*>(nullptr))) == sizeof(int)
+#endif
+ ;
+};
+
+
/** Trait that specifies the return type of any type.
* Template specializations for functors derived from sigc::functor_base,
+ * for other functors whose result type can be deduced with decltype(),
* for function pointers and for class methods are provided.
*
* @tparam T_functor Functor type.
* @tparam I_derives_functor_base Whether @p T_functor inherits from sigc::functor_base.
+ * @tparam I_can_use_decltype Whether the result type of @p T_functor can be deduced
+ * with decltype().
*
* @ingroup sigcfunctors
*/
-template <class T_functor, bool I_derives_functor_base=is_base_and_derived<functor_base,T_functor>::value>
+template <class T_functor,
+ bool I_derives_functor_base = is_base_and_derived<functor_base,T_functor>::value,
+ bool I_can_use_decltype = can_deduce_result_type_with_decltype<T_functor>::value>
struct functor_trait
{
typedef void result_type;
};
#ifndef DOXYGEN_SHOULD_SKIP_THIS
-template <class T_functor>
-struct functor_trait<T_functor,true>
+template <class T_functor, bool I_can_use_decltype>
+struct functor_trait<T_functor, true, I_can_use_decltype>
{
typedef typename T_functor::result_type result_type;
typedef T_functor functor_type;
};
+
+template <typename T_functor>
+struct functor_trait<T_functor, false, true>
+{
+ typedef typename functor_trait<decltype(&T_functor::operator()), false, false>::result_type result_type;
+ typedef T_functor functor_type;
+};
#endif // DOXYGEN_SHOULD_SKIP_THIS
/** Helper macro, if you want to mix user-defined and third party functors with libsigc++.
* namespace sigc { SIGC_FUNCTORS_HAVE_RESULT_TYPE }
* @endcode
*
- * You can't use both SIGC_FUNCTORS_HAVE_RESULT_TYPE and
- * SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE in the same compilation unit.
- *
* @ingroup sigcfunctors
*/
#define SIGC_FUNCTORS_HAVE_RESULT_TYPE \
template <class T_functor> \
-struct functor_trait<T_functor,false> \
+struct functor_trait<T_functor, false, false> \
{ \
typedef typename T_functor::result_type result_type; \
typedef T_functor functor_type; \
*/
#define SIGC_FUNCTOR_TRAIT(T_functor,T_return) \
template <> \
-struct functor_trait<T_functor,false> \
+struct functor_trait<T_functor, false, false> \
+{ \
+ typedef T_return result_type; \
+ typedef T_functor functor_type; \
+}; \
+template <> \
+struct functor_trait<T_functor, false, true> \
{ \
typedef T_return result_type; \
typedef T_functor functor_type; \
};
+#ifndef SIGCXX_DISABLE_DEPRECATED
/** Helper macro, if you want to mix user-defined and third party functors with libsigc++.
*
* If you want to mix functors not derived from sigc::functor_base with libsigc++,
*
* @newin{2,2,11}
*
- * You can't use both SIGC_FUNCTORS_HAVE_RESULT_TYPE and
- * SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE in the same compilation unit.
+ * @deprecated This macro does nothing. The test it activated in libsigc++
+ * versions before 2.6, is now unconditionally activated.
*
* @ingroup sigcfunctors
*/
-#define SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE \
-template <typename T_functor> \
-struct functor_trait<T_functor, false> \
-{ \
- typedef typename functor_trait<decltype(&T_functor::operator()), false>::result_type result_type; \
- typedef T_functor functor_type; \
-};
+#define SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE // Empty
+#endif // SIGCXX_DISABLE_DEPRECATED
#ifndef DOXYGEN_SHOULD_SKIP_THIS
// 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>
+struct functor_trait<T_return (*)(), false, 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>
+struct functor_trait<T_return (*)(T_arg1), false, 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>
+struct functor_trait<T_return (*)(T_arg1, T_arg2), false, 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>
+struct functor_trait<T_return (*)(T_arg1, T_arg2, T_arg3), false, 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>
+struct functor_trait<T_return (*)(T_arg1, T_arg2, T_arg3, T_arg4), false, 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>
+struct functor_trait<T_return (*)(T_arg1, T_arg2, T_arg3, T_arg4, T_arg5), false, 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>
+struct functor_trait<T_return (*)(T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6), false, 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>
+struct functor_trait<T_return (*)(T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7), false, 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>
+struct functor_trait<T_return (T_obj::*)(), false, 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>
+struct functor_trait<T_return (T_obj::*)() const, false, 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>
+struct functor_trait<T_return (T_obj::*)(T_arg1), false, 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>
+struct functor_trait<T_return (T_obj::*)(T_arg1) const, false, 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>
+struct functor_trait<T_return (T_obj::*)(T_arg1, T_arg2), false, 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>
+struct functor_trait<T_return (T_obj::*)(T_arg1, T_arg2) const, false, 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>
+struct functor_trait<T_return (T_obj::*)(T_arg1, T_arg2, T_arg3), false, 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>
+struct functor_trait<T_return (T_obj::*)(T_arg1, T_arg2, T_arg3) const, false, 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>
+struct functor_trait<T_return (T_obj::*)(T_arg1, T_arg2, T_arg3, T_arg4), false, 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>
+struct functor_trait<T_return (T_obj::*)(T_arg1, T_arg2, T_arg3, T_arg4) const, false, 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>
+struct functor_trait<T_return (T_obj::*)(T_arg1, T_arg2, T_arg3, T_arg4, T_arg5), false, 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>
+struct functor_trait<T_return (T_obj::*)(T_arg1, T_arg2, T_arg3, T_arg4, T_arg5) const, false, 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>
+struct functor_trait<T_return (T_obj::*)(T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6), false, 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>
+struct functor_trait<T_return (T_obj::*)(T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6) const, false, 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>
+struct functor_trait<T_return (T_obj::*)(T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7), false, 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>
+struct functor_trait<T_return (T_obj::*)(T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7) const, false, 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;
define([FUNCTOR_PTR_FUN],[dnl
template <LIST(LOOP(class T_arg%1, $1), class T_return)> class pointer_functor$1;
template <LIST(LOOP(class T_arg%1, $1), class T_return)>
-struct functor_trait<T_return (*)(LOOP(T_arg%1, $1)), false>
+struct functor_trait<T_return (*)(LOOP(T_arg%1, $1)), false, false>
{
typedef T_return result_type;
typedef pointer_functor$1<LIST(LOOP(T_arg%1, $1), T_return)> functor_type;
template <LIST(LOOP(class T_arg%1, $1), class T_return, class T_obj)> class mem_functor$1;
template <LIST(LOOP(class T_arg%1, $1), class T_return, class T_obj)> class const_mem_functor$1;
template <LIST(LOOP(class T_arg%1, $1), class T_return, class T_obj)>
-struct functor_trait<T_return (T_obj::*)(LOOP(T_arg%1, $1)), false>
+struct functor_trait<T_return (T_obj::*)(LOOP(T_arg%1, $1)), false, false>
{
typedef T_return result_type;
typedef mem_functor$1<LIST(LOOP(T_arg%1, $1), T_return, T_obj)> functor_type;
};
template <LIST(LOOP(class T_arg%1, $1), class T_return, class T_obj)>
-struct functor_trait<T_return (T_obj::*)(LOOP(T_arg%1, $1)) const, false>
+struct functor_trait<T_return (T_obj::*)(LOOP(T_arg%1, $1)) const, false, false>
{
typedef T_return result_type;
typedef const_mem_functor$1<LIST(LOOP(T_arg%1, $1), T_return, T_obj)> functor_type;
* <tt>typedef T_return result_type;</tt> in the class definition.
* - Use the macro SIGC_FUNCTOR_TRAIT(T_functor,T_return) in namespace sigc.
* Multi-type functors are only partly supported.
+ * - For functors not derived from sigc::functor_base, and not specified with
+ * SIGC_FUNCTOR_TRAIT(), libsigc++ tries to deduce the result type with the
+ * C++11 decltype() specifier. That attempt usually succeeds if the functor
+ * has a single operator()(), but it fails if operator()() is overloaded.
* - Use the macro #SIGC_FUNCTORS_HAVE_RESULT_TYPE, if you want libsigc++ to assume
* that result_type is defined in all user-defined or third party functors,
- * except those for which you specify a return type explicitly with SIGC_FUNCTOR_TRAIT().
- * - Use the macro #SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE, if your
- * compiler makes it possible. Functors with overloaded operator()() are not
- * supported.
+ * whose result type can't be deduced in any other way.
*
- * The last alterative makes it possible to construct a slot from a C++11 lambda
- * expression with any return type. Example:
- * @code
- * namespace sigc {
- * SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE
- * }
- * sigc::slot<bool, int> slot1 = [[]](int n)-> bool
- * {
- * return n == 42;
- * };
- * @endcode
+ * If all these ways to deduce the result type fail, void is assumed.
+ *
+ * With libsigc++ versions before 2.6, the macro
+ * #SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE activated the test with
+ * decltype(). That macro is now unneccesary and deprecated.
*/
/** A hint to the compiler.
*/
struct functor_base {};
+/** Helper macro, to determine if decltype() can deduce the result type of a functor.
+ *
+ * @ingroup sigcfunctors
+ */
+template <typename T_functor>
+class can_deduce_result_type_with_decltype
+{
+private:
+ struct biggerthanint
+ {
+ int memory1;
+ int memory2;
+ int memory3;
+ int memory4;
+ };
+
+ static biggerthanint check(...);
+
+ // If decltype(&X_functor::operator()) can't be evaluated, this check() overload
+ // is ignored because of the SFINAE rule (Substitution Failure Is Not An Error).
+ template <typename X_functor>
+ static int check(X_functor* obj, decltype(&X_functor::operator()) p = nullptr);
+
+public:
+ static const bool value
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+ = sizeof(check(static_cast<T_functor*>(nullptr))) == sizeof(int)
+#endif
+ ;
+};
+
+
/** Trait that specifies the return type of any type.
* Template specializations for functors derived from sigc::functor_base,
+ * for other functors whose result type can be deduced with decltype(),
* for function pointers and for class methods are provided.
*
* @tparam T_functor Functor type.
* @tparam I_derives_functor_base Whether @p T_functor inherits from sigc::functor_base.
+ * @tparam I_can_use_decltype Whether the result type of @p T_functor can be deduced
+ * with decltype().
*
* @ingroup sigcfunctors
*/
-template <class T_functor, bool I_derives_functor_base=is_base_and_derived<functor_base,T_functor>::value>
+template <class T_functor,
+ bool I_derives_functor_base = is_base_and_derived<functor_base,T_functor>::value,
+ bool I_can_use_decltype = can_deduce_result_type_with_decltype<T_functor>::value>
struct functor_trait
{
typedef void result_type;
};
#ifndef DOXYGEN_SHOULD_SKIP_THIS
-template <class T_functor>
-struct functor_trait<T_functor,true>
+template <class T_functor, bool I_can_use_decltype>
+struct functor_trait<T_functor, true, I_can_use_decltype>
{
typedef typename T_functor::result_type result_type;
typedef T_functor functor_type;
};
+
+template <typename T_functor>
+struct functor_trait<T_functor, false, true>
+{
+ typedef typename functor_trait<decltype(&T_functor::operator()), false, false>::result_type result_type;
+ typedef T_functor functor_type;
+};
#endif // DOXYGEN_SHOULD_SKIP_THIS
/** Helper macro, if you want to mix user-defined and third party functors with libsigc++.
* namespace sigc { SIGC_FUNCTORS_HAVE_RESULT_TYPE }
* @endcode
*
- * You can't use both SIGC_FUNCTORS_HAVE_RESULT_TYPE and
- * SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE in the same compilation unit.
- *
* @ingroup sigcfunctors
*/
#define SIGC_FUNCTORS_HAVE_RESULT_TYPE \
template <class T_functor> \
-struct functor_trait<T_functor,false> \
+struct functor_trait<T_functor, false, false> \
{ \
typedef typename T_functor::result_type result_type; \
typedef T_functor functor_type; \
*/
#define SIGC_FUNCTOR_TRAIT(T_functor,T_return) \
template <> \
-struct functor_trait<T_functor,false> \
+struct functor_trait<T_functor, false, false> \
+{ \
+ typedef T_return result_type; \
+ typedef T_functor functor_type; \
+}; \
+template <> \
+struct functor_trait<T_functor, false, true> \
{ \
typedef T_return result_type; \
typedef T_functor functor_type; \
};
+#ifndef SIGCXX_DISABLE_DEPRECATED
/** Helper macro, if you want to mix user-defined and third party functors with libsigc++.
*
* If you want to mix functors not derived from sigc::functor_base with libsigc++,
*
* @newin{2,2,11}
*
- * You can't use both SIGC_FUNCTORS_HAVE_RESULT_TYPE and
- * SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE in the same compilation unit.
+ * @deprecated This macro does nothing. The test it activated in libsigc++
+ * versions before 2.6, is now unconditionally activated.
*
* @ingroup sigcfunctors
*/
-#define SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE \
-template <typename T_functor> \
-struct functor_trait<T_functor, false> \
-{ \
- typedef typename functor_trait<decltype(&T_functor::operator()), false>::result_type result_type; \
- typedef T_functor functor_type; \
-};
+#define SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE // Empty
+#endif // SIGCXX_DISABLE_DEPRECATED
#ifndef DOXYGEN_SHOULD_SKIP_THIS
// detect the return type and the functor version of non-functor types.
*
* If you connect a C++11 lambda expression or a std::function<> instance to
* a signal or assign it to a slot,
- * - if the return type is not void, you must use the #SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE macro,
+ * - With libsigc++ versions before 2.6, if the return type is not void,
+ you must use the #SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE macro,
* - if your functor contains references to sigc::trackable derived objects,
* those objects will not be tracked, unless you also use sigc::track_obj().
*
*
* %std::bind() creates a functor, but this functor typically has an
* %operator()() which is a variadic template.
- * #SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE can't deduce the result type
+ * Our functor_trait can't deduce the result type
* of such a functor. If you first assign the return value of %std::bind()
* to a std::function, you can connect the std::function to a signal.
*
* dissimilar callbacks.
*
* For instance, see the @ref signal "Signals", @ref sigcfunctors "Functors",
- * @ref slot "Slots", @ref adaptors "Adaptors", and @ref lambdas "Lambdas".
+ * @ref slot "Slots" and @ref adaptors "Adaptors".
*
* See also the
* <a href="http://libsigc.sourceforge.net/libsigc2/docs/manual/html/index.html">libsigc++ tutorial</a>,
* - Extensions do not require alteration of basic components
* - User-definable accumulators
* - A variety of adaptors to change the callback signature: bind, hide,
- * retype, compose and lambda call groups
+ * retype, and compose
*
* @section basics Basic Usage
*
*
* %std::bind() creates a functor, but this functor typically has an
* %operator()() which is a variadic template.
- * #SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE can't deduce the result type
+ * Our functor_trait can't deduce the result type
* of such a functor. If you first assign the return value of %std::bind()
* to a std::function, you can connect the std::function to a signal.
*
*
* %std::bind() creates a functor, but this functor typically has an
* %operator()() which is a variadic template.
- * #SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE can't deduce the result type
+ * Our functor_trait can't deduce the result type
* of such a functor. If you first assign the return value of %std::bind()
* to a std::function, you can connect the std::function to a signal.
*
*
* %std::bind() creates a functor, but this functor typically has an
* %operator()() which is a variadic template.
- * #SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE can't deduce the result type
+ * Our functor_trait can't deduce the result type
* of such a functor. If you first assign the return value of %std::bind()
* to a std::function, you can connect the std::function to a signal.
*
*
* %std::bind() creates a functor, but this functor typically has an
* %operator()() which is a variadic template.
- * #SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE can't deduce the result type
+ * Our functor_trait can't deduce the result type
* of such a functor. If you first assign the return value of %std::bind()
* to a std::function, you can connect the std::function to a signal.
*
*
* %std::bind() creates a functor, but this functor typically has an
* %operator()() which is a variadic template.
- * #SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE can't deduce the result type
+ * Our functor_trait can't deduce the result type
* of such a functor. If you first assign the return value of %std::bind()
* to a std::function, you can connect the std::function to a signal.
*
*
* %std::bind() creates a functor, but this functor typically has an
* %operator()() which is a variadic template.
- * #SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE can't deduce the result type
+ * Our functor_trait can't deduce the result type
* of such a functor. If you first assign the return value of %std::bind()
* to a std::function, you can connect the std::function to a signal.
*
*
* %std::bind() creates a functor, but this functor typically has an
* %operator()() which is a variadic template.
- * #SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE can't deduce the result type
+ * Our functor_trait can't deduce the result type
* of such a functor. If you first assign the return value of %std::bind()
* to a std::function, you can connect the std::function to a signal.
*
*
* %std::bind() creates a functor, but this functor typically has an
* %operator()() which is a variadic template.
- * #SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE can't deduce the result type
+ * Our functor_trait can't deduce the result type
* of such a functor. If you first assign the return value of %std::bind()
* to a std::function, you can connect the std::function to a signal.
*
test_exception_catch \
test_functor_trait \
test_hide \
- test_lambda \
test_limit_reference \
test_mem_fun \
test_ptr_fun \
test_exception_catch_SOURCES = test_exception_catch.cc $(sigc_test_util)
test_functor_trait_SOURCES = test_functor_trait.cc $(sigc_test_util)
test_hide_SOURCES = test_hide.cc $(sigc_test_util)
-test_lambda_SOURCES = test_lambda.cc $(sigc_test_util)
test_limit_reference_SOURCES = test_limit_reference.cc $(sigc_test_util)
test_mem_fun_SOURCES = test_mem_fun.cc $(sigc_test_util)
test_ptr_fun_SOURCES = test_ptr_fun.cc $(sigc_test_util)
test_trackable_SOURCES = test_trackable.cc $(sigc_test_util)
test_track_obj_SOURCES = test_track_obj.cc $(sigc_test_util)
test_visit_each_SOURCES = test_visit_each.cc $(sigc_test_util)
-
-# 2005-01-19
-# Disabled: test_lambda - The Tru64 compiler can't build this when not using
-# -std strict_ansi -model ansi, so let's not worry about it.
-# 2012-03-19
-# Enabled test_lambda. See https://bugzilla.gnome.org/show_bug.cgi?id=669128
-# TODO: Disable once again, if some compiler still can't build it (tested with gcc 4.6.1)
-
-#dist_noinst_DATA = test_lambda.cc
test_deduce_result_type$(EXEEXT) test_disconnect$(EXEEXT) \
test_disconnect_during_emit$(EXEEXT) \
test_exception_catch$(EXEEXT) test_functor_trait$(EXEEXT) \
- test_hide$(EXEEXT) test_lambda$(EXEEXT) \
- test_limit_reference$(EXEEXT) test_mem_fun$(EXEEXT) \
- test_ptr_fun$(EXEEXT) test_retype$(EXEEXT) \
- test_retype_return$(EXEEXT) test_signal$(EXEEXT) \
- test_size$(EXEEXT) test_slot$(EXEEXT) \
+ test_hide$(EXEEXT) test_limit_reference$(EXEEXT) \
+ test_mem_fun$(EXEEXT) test_ptr_fun$(EXEEXT) \
+ test_retype$(EXEEXT) test_retype_return$(EXEEXT) \
+ test_signal$(EXEEXT) test_size$(EXEEXT) test_slot$(EXEEXT) \
test_slot_disconnect$(EXEEXT) test_trackable$(EXEEXT) \
test_track_obj$(EXEEXT) test_visit_each$(EXEEXT)
subdir = tests
test_hide_LDADD = $(LDADD)
test_hide_DEPENDENCIES = \
$(top_builddir)/sigc++/libsigc-$(SIGCXX_API_VERSION).la
-am_test_lambda_OBJECTS = test_lambda.$(OBJEXT) $(am__objects_1)
-test_lambda_OBJECTS = $(am_test_lambda_OBJECTS)
-test_lambda_LDADD = $(LDADD)
-test_lambda_DEPENDENCIES = \
- $(top_builddir)/sigc++/libsigc-$(SIGCXX_API_VERSION).la
am_test_limit_reference_OBJECTS = test_limit_reference.$(OBJEXT) \
$(am__objects_1)
test_limit_reference_OBJECTS = $(am_test_limit_reference_OBJECTS)
$(test_deduce_result_type_SOURCES) $(test_disconnect_SOURCES) \
$(test_disconnect_during_emit_SOURCES) \
$(test_exception_catch_SOURCES) $(test_functor_trait_SOURCES) \
- $(test_hide_SOURCES) $(test_lambda_SOURCES) \
- $(test_limit_reference_SOURCES) $(test_mem_fun_SOURCES) \
- $(test_ptr_fun_SOURCES) $(test_retype_SOURCES) \
- $(test_retype_return_SOURCES) $(test_signal_SOURCES) \
- $(test_size_SOURCES) $(test_slot_SOURCES) \
- $(test_slot_disconnect_SOURCES) $(test_track_obj_SOURCES) \
- $(test_trackable_SOURCES) $(test_visit_each_SOURCES)
+ $(test_hide_SOURCES) $(test_limit_reference_SOURCES) \
+ $(test_mem_fun_SOURCES) $(test_ptr_fun_SOURCES) \
+ $(test_retype_SOURCES) $(test_retype_return_SOURCES) \
+ $(test_signal_SOURCES) $(test_size_SOURCES) \
+ $(test_slot_SOURCES) $(test_slot_disconnect_SOURCES) \
+ $(test_track_obj_SOURCES) $(test_trackable_SOURCES) \
+ $(test_visit_each_SOURCES)
DIST_SOURCES = $(test_accum_iter_SOURCES) $(test_accumulated_SOURCES) \
$(test_bind_SOURCES) $(test_bind_ref_SOURCES) \
$(test_bind_refptr_SOURCES) $(test_bind_return_SOURCES) \
$(test_deduce_result_type_SOURCES) $(test_disconnect_SOURCES) \
$(test_disconnect_during_emit_SOURCES) \
$(test_exception_catch_SOURCES) $(test_functor_trait_SOURCES) \
- $(test_hide_SOURCES) $(test_lambda_SOURCES) \
- $(test_limit_reference_SOURCES) $(test_mem_fun_SOURCES) \
- $(test_ptr_fun_SOURCES) $(test_retype_SOURCES) \
- $(test_retype_return_SOURCES) $(test_signal_SOURCES) \
- $(test_size_SOURCES) $(test_slot_SOURCES) \
- $(test_slot_disconnect_SOURCES) $(test_track_obj_SOURCES) \
- $(test_trackable_SOURCES) $(test_visit_each_SOURCES)
+ $(test_hide_SOURCES) $(test_limit_reference_SOURCES) \
+ $(test_mem_fun_SOURCES) $(test_ptr_fun_SOURCES) \
+ $(test_retype_SOURCES) $(test_retype_return_SOURCES) \
+ $(test_signal_SOURCES) $(test_size_SOURCES) \
+ $(test_slot_SOURCES) $(test_slot_disconnect_SOURCES) \
+ $(test_track_obj_SOURCES) $(test_trackable_SOURCES) \
+ $(test_visit_each_SOURCES)
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
EXEEXT = @EXEEXT@
FGREP = @FGREP@
GREP = @GREP@
+HAVE_CXX11 = @HAVE_CXX11@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
test_exception_catch_SOURCES = test_exception_catch.cc $(sigc_test_util)
test_functor_trait_SOURCES = test_functor_trait.cc $(sigc_test_util)
test_hide_SOURCES = test_hide.cc $(sigc_test_util)
-test_lambda_SOURCES = test_lambda.cc $(sigc_test_util)
test_limit_reference_SOURCES = test_limit_reference.cc $(sigc_test_util)
test_mem_fun_SOURCES = test_mem_fun.cc $(sigc_test_util)
test_ptr_fun_SOURCES = test_ptr_fun.cc $(sigc_test_util)
@rm -f test_hide$(EXEEXT)
$(AM_V_CXXLD)$(CXXLINK) $(test_hide_OBJECTS) $(test_hide_LDADD) $(LIBS)
-test_lambda$(EXEEXT): $(test_lambda_OBJECTS) $(test_lambda_DEPENDENCIES) $(EXTRA_test_lambda_DEPENDENCIES)
- @rm -f test_lambda$(EXEEXT)
- $(AM_V_CXXLD)$(CXXLINK) $(test_lambda_OBJECTS) $(test_lambda_LDADD) $(LIBS)
-
test_limit_reference$(EXEEXT): $(test_limit_reference_OBJECTS) $(test_limit_reference_DEPENDENCIES) $(EXTRA_test_limit_reference_DEPENDENCIES)
@rm -f test_limit_reference$(EXEEXT)
$(AM_V_CXXLD)$(CXXLINK) $(test_limit_reference_OBJECTS) $(test_limit_reference_LDADD) $(LIBS)
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_exception_catch.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_functor_trait.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_hide.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_lambda.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_limit_reference.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_mem_fun.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_ptr_fun.Po@am__quote@
--log-file $$b.log --trs-file $$b.trs \
$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
"$$tst" $(AM_TESTS_FD_REDIRECT)
-test_lambda.log: test_lambda$(EXEEXT)
- @p='test_lambda$(EXEEXT)'; \
- b='test_lambda'; \
- $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
- --log-file $$b.log --trs-file $$b.trs \
- $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
- "$$tst" $(AM_TESTS_FD_REDIRECT)
test_limit_reference.log: test_limit_reference$(EXEEXT)
@p='test_limit_reference$(EXEEXT)'; \
b='test_limit_reference'; \
recheck tags tags-am uninstall uninstall-am
-# 2005-01-19
-# Disabled: test_lambda - The Tru64 compiler can't build this when not using
-# -std strict_ansi -model ansi, so let's not worry about it.
-# 2012-03-19
-# Enabled test_lambda. See https://bugzilla.gnome.org/show_bug.cgi?id=669128
-# TODO: Disable once again, if some compiler still can't build it (tested with gcc 4.6.1)
-
-#dist_noinst_DATA = test_lambda.cc
-
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
// echo $?
// If test_cpp11_lambda writes nothing and the return code is 0, the test has passed.
-#if __cplusplus >= 201103L || defined(__GXX_EXPERIMENTAL_CXX0X__) || _MSC_VER >= 1700
-# define USING_CPP11_LAMBDA_EXPRESSIONS
-#endif
#include "testutilities.h"
#include <string>
#include <sigc++/adaptors/track_obj.h>
#include <sigc++/signal.h>
-#ifdef USING_CPP11_LAMBDA_EXPRESSIONS
-namespace sigc
-{
- SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE
-}
namespace
{
} // end anonymous namespace
-#endif // USING_CPP11_LAMBDA_EXPRESSIONS
int main(int argc, char* argv[])
if (!util->check_command_args(argc, argv))
return util->get_result_and_delete_instance() ? EXIT_SUCCESS : EXIT_FAILURE;
-#ifdef USING_CPP11_LAMBDA_EXPRESSIONS
// test lambda operators
int a = 1;
// std::bind() does not work well together with sigc::slot and sigc::signal::connect().
// std::bind() typically creates a functor whose operator()() is a variadic template.
- // SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE can't deduce the result type
- // of such a functor.
+ // Our functor_trait can't deduce the result type of such a functor.
// If the result of std::bind() is assigned to a std::function, the created
// functor has an unambiguous operator()().
some_signal.emit();
util->check_result(result_stream, "");
}
- return util->get_result_and_delete_instance() ? EXIT_SUCCESS : EXIT_FAILURE;
-#else // not USING_CPP11_LAMBDA_EXPRESSIONS
- std::cout << "The compiler capabilities don't allow test of C++11 lambda expressions." << std::endl;
- // Return code 77 tells automake's test harness to skip this test.
- return util->get_result_and_delete_instance() ? 77 : EXIT_FAILURE;
-#endif
+ return util->get_result_and_delete_instance() ? EXIT_SUCCESS : EXIT_FAILURE;
} // end main()
+++ /dev/null
-/* Copyright 2002, The libsigc++ Development Team
- * Assigned to public domain. Use as you wish without restriction.
- */
-
-#include "testutilities.h"
-#include <iostream>
-#include <sstream>
-#include <string>
-#include <cstdlib>
-#include <sigc++/functors/functors.h>
-#include <sigc++/adaptors/lambda/lambda.h>
-#include <sigc++/adaptors/retype_return.h>
-
-#ifndef SIGCXX_DISABLE_DEPRECATED
-
-using sigc::_1;
-using sigc::_2;
-using sigc::_3;
-using sigc::_4;
-using sigc::_5;
-using sigc::_6;
-using sigc::_7;
-
-// other template libraries (e.g. boost::lambda) have similar hacks built in
-// to make lambda shift operators work with streams
-namespace sigc {
-// There is no std::basic_ostringstream<>& std::basic_ostringstream<>::operator<<(T_arg a1).
-// "my_ostringstream << xyz;" invokes std::basic_ostream<>& std::basic_ostream<>::operator<<(T_arg a1),
-// which returns std::basic_ostream<>&.
-template <class T_arg>
-struct lambda_action_deduce_result_type<bitwise<leftshift>, std::ostringstream&, T_arg>
-{
- typedef std::ostream& type;
-};
-
-template <class T_arg>
-struct lambda_action_deduce_result_type<bitwise<leftshift>, std::ostream&, T_arg>
-{
- typedef std::ostream& type;
-};
-} // end namespace sigc
-
-namespace
-{
-std::ostringstream result_stream;
-
-int foo(int i, int j)
-{
- result_stream << "foo(int " << i << ", int " << j << ") ";
- return 4*i + j;
-}
-
-void foo_void(int i)
-{
- result_stream << "foo_void(int " << i << ")";
-}
-
-struct bar
-{
- int test(int i, int j)
- {
- result_stream << "bar::test(int " << i << ", int " << j << ") ";
- return 4*i + j;
- }
-
- void test_void(int i)
- {
- result_stream << "bar::test_void(int " << i << ")";
- }
-};
-
-void egon(std::string& str)
-{
- result_stream << "egon(string '" << str << "')";
- str = "egon was here";
-}
-
-struct book : public sigc::trackable
-{
- explicit book(const std::string& name) : name_(name) {}
- operator std::string& () { return name_; }
- std::string name_;
-};
-
-inline std::ostringstream& operator << (std::ostringstream& s, const book& b)
-{
- s << b.name_;
- return s;
-}
-
-} // end anonymous namespace
-
-#endif // SIGCXX_DISABLE_DEPRECATED
-
-int main(int argc, char* argv[])
-{
- TestUtilities* util = TestUtilities::get_instance();
-
- if (!util->check_command_args(argc, argv))
- return util->get_result_and_delete_instance() ? EXIT_SUCCESS : EXIT_FAILURE;
-
-#ifndef SIGCXX_DISABLE_DEPRECATED
-
- // test lambda operators
- int a = 1;
- result_stream << "(_1 + _2) (3,4): " << (_1 + _2) (3,4);
- util->check_result(result_stream, "(_1 + _2) (3,4): 7");
-
- result_stream << "(_1 + 1) (3,4): " << (_1 + 1) (3,4);
- util->check_result(result_stream, "(_1 + 1) (3,4): 4");
-
- result_stream << "(_2 + 1) (3,4): " << (_2 + 1) (3,4);
- util->check_result(result_stream, "(_2 + 1) (3,4): 5");
-
- result_stream << "(2 + _1) (3,4): " << (2 + _1) (3,4);
- util->check_result(result_stream, "(2 + _1) (3,4): 5");
-
- result_stream << "(2 + _2) (3,4): " << (2 + _2) (3,4);
- util->check_result(result_stream, "(2 + _2) (3,4): 6");
-
- result_stream << "(_1+_2*_3)(1,2,3): " << (_1+_2*_3)(1,2,3);
- util->check_result(result_stream, "(_1+_2*_3)(1,2,3): 7");
-
- result_stream << "((++_1)*2)(1): " << ((++_1)*2)(1);
- util->check_result(result_stream, "((++_1)*2)(1): 4");
-
- result_stream << "((++_1)*2)(a): " << ((++_1)*2)(a);
- result_stream << "; a: " << a;
- util->check_result(result_stream, "((++_1)*2)(a): 4; a: 1");
-
-// gcc can't compile lambda functions with sigc::ref() parameters.
-// See https://bugzilla.gnome.org/show_bug.cgi?id=669128
-// TODO: Can the compilation problems be fixed?
-// result_stream << "((++_1)*2)(ref(a)): " << ((++_1)*2)(sigc::ref(a));
-// result_stream << "; a: " << a;
-// util->check_result(result_stream, "((++_1)*2)(ref(a)): 4; a: 2");
-
- result_stream << "((++(*_1))*2)(&a): " << ((++(*_1))*2)(&a);
- result_stream << "; a: " << a;
- util->check_result(result_stream, "((++(*_1))*2)(&a): 4; a: 2");
-
-// result_stream << "((--(*(&_1)))*2)(ref(a)): " << ((--(*(&_1)))*2)(sigc::ref(a));
-// result_stream << "; a: " << a;
-// util->check_result(result_stream, "((--(*(&_1)))*2)(ref(a)): 4; a: 2");
-
- result_stream << "(-_1) (-5): " << (-_1) (-5);
- util->check_result(result_stream, "(-_1) (-5): 5");
-
- result_stream << "(var(&a)[0])(): " << (sigc::var(&a)[0])();
- util->check_result(result_stream, "(var(&a)[0])(): 2");
-
- result_stream << "(_1[_2]) (&a,0): " << (_1[_2]) (&a,0);
- util->check_result(result_stream, "(_1[_2]) (&a,0): 2");
-
- result_stream << "(*_1=_2) (&a,1): " << (*_1=_2) (&a,1);
- util->check_result(result_stream, "(*_1=_2) (&a,1): 1");
-
- // Comma operator, https://bugzilla.gnome.org/show_bug.cgi?id=342911
- a = -1;
- int b = -1;
- int c = -1;
- result_stream << "(var(c) = (var(a) = _1, var(b) = _2))(2,3): "
- << (sigc::var(c) = (sigc::var(a) = _1, sigc::var(b) = _2))(2,3);
- result_stream << "; a: " << a << "; b: " << b << "; c: " << c;
- util->check_result(result_stream, "(var(c) = (var(a) = _1, var(b) = _2))(2,3): 3; a: 2; b: 3; c: 3");
-
- // c++ restrictions:
- // - ref() must be used to indicate that the value shall not be copied
- // - constant() is used to create a lambda and delay execution of "result_stream << 1"
- // - var() is used to create a lambda that holds a reference and is interchangable
- // with ref() in lambda operator expressions
- // - cannot use std::endl without much hackery because it is defined as a template function
- // - cannot use "\n" without var() because arrays cannot be copied
-
-// sigc::constant was removed 2004-08-21 by commit
-// http://git.gnome.org/browse/libsigc++2/commit/?id=4a09791de9fa79d5f9ec8fbe76bf53ca1cc57ea6
-// (sigc::ref(result_stream) << sigc::constant(1) << sigc::var("\n"))();
-// util->check_result(result_stream, "1\n");
-
- (sigc::ref(result_stream) << _1 << std::string("\n"))("hello world");
- util->check_result(result_stream, "hello world\n");
-
- (sigc::ref(result_stream) << sigc::static_cast_<int>(_1) << std::string("\n"))(1.234);
- util->check_result(result_stream, "1\n");
-
- (sigc::var(result_stream) << 1 << sigc::var("\n"))();
- util->check_result(result_stream, "1\n");
-
- (sigc::var(result_stream) << _1 << std::string("\n"))("hello world");
- util->check_result(result_stream, "hello world\n");
-
- // auto-disconnect
- //
- // sigc::var(result_stream) returns std::ostream&, but the compiler dislikes
- // both slot<std::ostream>, slot<std::ostream&> and slot<std::ostream*>.
- sigc::slot<void> sl1;
- {
- book guest_book("karl");
- sl1 = sigc::hide_return(sigc::var(result_stream) << sigc::ref(guest_book) << sigc::var("\n"));
- sl1();
- util->check_result(result_stream, "karl\n");
- } // auto-disconnect
- sl1();
- util->check_result(result_stream, "");
-
- // test group adaptor
- bar the_bar;
- result_stream << (sigc::group(&foo, _1, _2)) (1, 2);
- util->check_result(result_stream, "foo(int 1, int 2) 6");
-
- result_stream << (sigc::group(&foo, _2, _1)) (1, 2);
- util->check_result(result_stream, "foo(int 2, int 1) 9");
-
- result_stream << (sigc::group(sigc::mem_fun(&bar::test), _1, _2, _3)) (sigc::ref(the_bar), 1, 2);
- util->check_result(result_stream, "bar::test(int 1, int 2) 6");
-
- // same functionality as bind
- result_stream << (sigc::group(&foo, _1, 2)) (1);
- util->check_result(result_stream, "foo(int 1, int 2) 6");
-
- result_stream << (sigc::group(&foo, 1, 2)) ();
- util->check_result(result_stream, "foo(int 1, int 2) 6");
-
- (sigc::group(sigc::ptr_fun(&foo_void), 1)) ();
- util->check_result(result_stream, "foo_void(int 1)");
-
- // auto-disconnect
- sigc::slot<void> sl2;
- {
- book guest_book("karl");
- sl2 = sigc::group(&egon, sigc::ref(guest_book));
- sl2();
- util->check_result(result_stream, "egon(string 'karl')");
-
- result_stream << static_cast<std::string&>(guest_book);
- util->check_result(result_stream, "karl");
-
- } // auto-disconnect
- sl2(); // :-)
- util->check_result(result_stream, "");
-
- // same functionality as hide
- result_stream << (sigc::group(&foo, _1, _2)) (1,2,3);
- util->check_result(result_stream, "foo(int 1, int 2) 6");
-
- (sigc::group(sigc::ptr_fun(&foo_void), _2)) (1, 2);
- util->check_result(result_stream, "foo_void(int 2)");
-
- // same functionality as compose
- result_stream << (sigc::group(&foo, sigc::group(&foo, _1, _2), _3)) (1,2,3);
- util->check_result(result_stream, "foo(int 1, int 2) foo(int 6, int 3) 27");
-
- // same functionality as retype
- result_stream << (sigc::group(&foo, sigc::static_cast_<int>(_1), 2)) (1.234);
- util->check_result(result_stream, "foo(int 1, int 2) 6");
-
- return util->get_result_and_delete_instance() ? EXIT_SUCCESS : EXIT_FAILURE;
-
-#else // SIGCXX_DISABLE_DEPRECATED
- std::cout << "libsigc++ lambdas are deprecated. They are not tested." << std::endl;
- // Return code 77 tells automake's test harness to skip this test.
- return util->get_result_and_delete_instance() ? 77 : EXIT_FAILURE;
-#endif
-} // end main()
// echo $?
// If test_track_obj writes nothing and the return code is 0, the test has passed.
-#if __cplusplus >= 201103L || defined(__GXX_EXPERIMENTAL_CXX0X__) || _MSC_VER >= 1700
-# define USING_CPP11_LAMBDA_EXPRESSIONS
-#endif
#include "testutilities.h"
#include <string>
#include <sigc++/adaptors/track_obj.h>
#include <sigc++/signal.h>
-#ifdef USING_CPP11_LAMBDA_EXPRESSIONS
-namespace sigc
-{
- SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE
-}
-#endif
namespace
{
const book& aBook_;
};
-#ifdef USING_CPP11_LAMBDA_EXPRESSIONS
+//C++11 lamba expressions:
inline std::ostringstream& operator << (std::ostringstream& s, const book& b)
{
{
result_stream << "foo_group4(bar_group4&)";
}
-#endif // USING_CPP11_LAMBDA_EXPRESSIONS
} // end anonymous namespace
delete pbar4;
pbar4 = 0;
-#ifdef USING_CPP11_LAMBDA_EXPRESSIONS
+
+//C++11 lambda expressions:
// auto-disconnect
// If you want to auto-disconnect a slot with a C++11 lambda expression
util->check_result(result_stream, "");
}
-#else // not USING_CPP11_LAMBDA_EXPRESSIONS
- std::cout << "The compiler capabilities don't allow test of C++11 lambda expressions." << std::endl;
-#endif
return util->get_result_and_delete_instance() ? EXIT_SUCCESS : EXIT_FAILURE;
}