summaryrefslogtreecommitdiff
path: root/sigc++
diff options
context:
space:
mode:
authorMartin Schulze <mschulze@cvs.gnome.org>2004-04-28 21:52:12 +0000
committerMartin Schulze <mschulze@src.gnome.org>2004-04-28 21:52:12 +0000
commitd9ec962b5a942c262d99dd4c7a9a5d40bec1c225 (patch)
tree3472695c910a28cd6569bdc548cb4045ec834307 /sigc++
parentdd36c7d1a5b9d29031a9d1ae84211f51fbd43ab0 (diff)
downloadsigc++-libsigc++-2.0.1.tar.gz
Bump version number to 2.0.1. Add ChangeLog summary for version 2.0.1.libsigc++-2.0.1
2004-04-27 Martin Schulze <mschulze@cvs.gnome.org> * configure.ac: Bump version number to 2.0.1. * NEWS: Add ChangeLog summary for version 2.0.1. * sigc++/adaptors/lambda/macros/base.h.m4: Fixed documentation. * sigc++/adaptors/macros/bind.h.m4: Hide work-arounds from doxygen. * scripts/cxx.m4, sigc++config.h.in, configure.ac, sigc++/adaptors/macros/bind.h.m4: Removed configure check. It showed that the Apple gcc can also compile the sophisticated version of the work-around.
Diffstat (limited to 'sigc++')
-rw-r--r--sigc++/adaptors/lambda/macros/base.h.m41
-rw-r--r--sigc++/adaptors/macros/bind.h.m461
2 files changed, 7 insertions, 55 deletions
diff --git a/sigc++/adaptors/lambda/macros/base.h.m4 b/sigc++/adaptors/lambda/macros/base.h.m4
index 5197998..f18b5ee 100644
--- a/sigc++/adaptors/lambda/macros/base.h.m4
+++ b/sigc++/adaptors/lambda/macros/base.h.m4
@@ -73,6 +73,7 @@ namespace sigc {
* @code
* std::cout << (sigc::_1 + 5)(3); // returns (3 + 5)
* std::cout << (sigc::_1 * sigc::_2)(7,10); // returns (7 * 10)
+ * @endcode
*/
// dummy structure to keep track of the where we are.
diff --git a/sigc++/adaptors/macros/bind.h.m4 b/sigc++/adaptors/macros/bind.h.m4
index 3626e9d..d364a4a 100644
--- a/sigc++/adaptors/macros/bind.h.m4
+++ b/sigc++/adaptors/macros/bind.h.m4
@@ -121,10 +121,12 @@ struct bind_functor<LIST(-1, T_functor, LOOP(T_type%1, $1))> : public adapts<T_f
{
typedef typename adapts<T_functor>::adaptor_type adaptor_type;
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
template <LIST(int count, LOOP(class T_arg%1, eval(CALL_SIZE)))>
struct deduce_result_type_internal
{ typedef typename adaptor_type::template deduce_result_type<LIST(LOOP(_P_(T_arg%1), eval(CALL_SIZE-$1)), LOOP(_P_(T_type%1), $1))>::type type; };
FOR(eval($1+1),eval(CALL_SIZE-1),[[DEDUCE_RESULT_TYPE_COUNT($1,%1)]])dnl
+#endif /*DOXYGEN_SHOULD_SKIP_THIS*/
template <LOOP(class T_arg%1=void, eval(CALL_SIZE))>
struct deduce_result_type {
@@ -206,60 +208,9 @@ __FIREWALL__
namespace sigc {
-namespace internal {
-
-#ifdef SIGC_TEMPLATE_SPECIALIZATION_MULTIPLE
-
-template <class T_arg1>
-struct count_void6
- { static const int value=6; };
-template <>
-struct count_void6<void>
- { static const int value=7; };
-
-template <class T_arg1,class T_arg2>
-struct count_void5
- { static const int value=5; };
-template <class T_arg1>
-struct count_void5<T_arg1,void>
- { static const int value=count_void6<T_arg1>::value; };
-
-template <class T_arg1,class T_arg2,class T_arg3>
-struct count_void4
- { static const int value=4; };
-template <class T_arg1,class T_arg2>
-struct count_void4<T_arg1,T_arg2,void>
- { static const int value=count_void5<T_arg1,T_arg2>::value; };
-
-template <class T_arg1,class T_arg2,class T_arg3,class T_arg4>
-struct count_void3
- { static const int value=3; };
-template <class T_arg1,class T_arg2,class T_arg3>
-struct count_void3<T_arg1,T_arg2,T_arg3,void>
- { static const int value=count_void4<T_arg1,T_arg2,T_arg3>::value; };
-
-template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5>
-struct count_void2
- { static const int value=2; };
-template <class T_arg1,class T_arg2,class T_arg3,class T_arg4>
-struct count_void2<T_arg1,T_arg2,T_arg3,T_arg4,void>
- { static const int value=count_void3<T_arg1,T_arg2,T_arg3,T_arg4>::value; };
-
-template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6>
-struct count_void1
- { static const int value=1; };
-template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5>
-struct count_void1<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,void>
- { static const int value=count_void2<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>::value; };
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
-template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6,class T_arg7>
-struct count_void
- { static const int value=0; };
-template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6>
-struct count_void<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,void>
- { static const int value=count_void1<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>::value; };
-
-#else
+namespace internal {
template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6,class T_arg7>
struct count_void
@@ -286,10 +237,10 @@ template <>
struct count_void<void,void,void,void,void,void,void>
{ static const int value=7; };
-#endif /*SIGC_TEMPLATE_SPECIALIZATION_MULTIPLE*/
-
} /* namespace internal */
+#endif /*DOXYGEN_SHOULD_SKIP_THIS*/
+
/** @defgroup bind bind(), bind_return()
* sigc::bind() alters an arbitrary functor by fixing arguments to certain values.