|
Boost-Commit : |
Subject: [Boost-commit] svn:boost r83201 - sandbox/type_erasure/boost/type_erasure
From: steven_at_[hidden]
Date: 2013-02-28 11:31:24
Author: steven_watanabe
Date: 2013-02-28 11:31:23 EST (Thu, 28 Feb 2013)
New Revision: 83201
URL: http://svn.boost.org/trac/boost/changeset/83201
Log:
Fix for gcc-4.5 c++0x
Text files modified:
sandbox/type_erasure/boost/type_erasure/free.hpp | 29 +++++++++++++++++++++++++++--
1 files changed, 27 insertions(+), 2 deletions(-)
Modified: sandbox/type_erasure/boost/type_erasure/free.hpp
==============================================================================
--- sandbox/type_erasure/boost/type_erasure/free.hpp (original)
+++ sandbox/type_erasure/boost/type_erasure/free.hpp 2013-02-28 11:31:23 EST (Thu, 28 Feb 2013)
@@ -33,6 +33,8 @@
#include <boost/type_erasure/call.hpp>
#include <boost/type_erasure/concept_interface.hpp>
+#if defined(BOOST_NO_VARIADIC_TEMPLATES) || defined(BOOST_TYPE_ERASURE_DOXYGEN)
+
namespace boost {
namespace type_erasure {
namespace detail {
@@ -60,8 +62,6 @@
}
}
-#if defined(BOOST_NO_VARIADIC_TEMPLATES) || defined(BOOST_TYPE_ERASURE_DOXYGEN)
-
/** INTERNAL ONLY */
#define BOOST_TYPE_ERASURE_FREE_QUALIFIED_ID(seq, N) \
BOOST_TYPE_ERASURE_QUALIFIED_NAME(seq)<R(BOOST_PP_ENUM_PARAMS(N, T))>
@@ -132,6 +132,31 @@
struct index_list {};
namespace detail {
+
+template<class... T>
+struct first_placeholder;
+
+template<class T0, class... T>
+struct first_placeholder<T0, T...> {
+ typedef typename ::boost::mpl::eval_if<is_placeholder<T0>,
+ ::boost::mpl::identity<T0>,
+ first_placeholder<T...>
+ >::type type;
+};
+
+template<>
+struct first_placeholder<> {};
+
+template<class... T>
+struct first_placeholder_index;
+
+template<class T0, class... T>
+struct first_placeholder_index<T0, T...> :
+ ::boost::mpl::eval_if<is_placeholder<T0>,
+ ::boost::mpl::int_<0>,
+ ::boost::mpl::next<first_placeholder<T...> >
+ >::type
+{};
template<class Sig>
struct transform_free_signature;
Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk