Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r83160 - sandbox/type_erasure/boost/type_erasure
From: steven_at_[hidden]
Date: 2013-02-25 18:37:08


Author: steven_watanabe
Date: 2013-02-25 18:37:06 EST (Mon, 25 Feb 2013)
New Revision: 83160
URL: http://svn.boost.org/trac/boost/changeset/83160

Log:
Fixes for clang.
Text files modified:
   sandbox/type_erasure/boost/type_erasure/member.hpp | 2 +-
   sandbox/type_erasure/boost/type_erasure/param.hpp | 29 +++++++++++++++++++++++++++++
   2 files changed, 30 insertions(+), 1 deletions(-)

Modified: sandbox/type_erasure/boost/type_erasure/member.hpp
==============================================================================
--- sandbox/type_erasure/boost/type_erasure/member.hpp (original)
+++ sandbox/type_erasure/boost/type_erasure/member.hpp 2013-02-25 18:37:06 EST (Mon, 25 Feb 2013)
@@ -118,7 +118,7 @@
 #define BOOST_TYPE_ERASURE_MEMBER_ENUM_PARAMS(N, X) X...
 #define BOOST_TYPE_ERASURE_MEMBER_FORWARD_PARAMS(N, X, x) ::std::forward<X>(x)...
 #define BOOST_TYPE_ERASURE_MEMBER_ENUM_TRAILING_PARAMS(N, X) , X...
-#define BOOST_TYPE_ERASURE_MEMBER_FORWARD_REBIND(N, X, x) , ::std::forward<typename ::boost::type_erasure::as_param<Base, A>::type>(x)...
+#define BOOST_TYPE_ERASURE_MEMBER_FORWARD_REBIND(N) , ::std::forward<typename ::boost::type_erasure::as_param<Base, A>::type>(a)...
 #define BOOST_TYPE_ERASURE_MEMBER_ENUM_TRAILING_BINARY_PARAMS(N, X, x) , X... x
 #define BOOST_TYPE_ERASURE_MEMBER_ENUM_ARGS(N) typename ::boost::type_erasure::as_param<Base, A>::type... a
 

Modified: sandbox/type_erasure/boost/type_erasure/param.hpp
==============================================================================
--- sandbox/type_erasure/boost/type_erasure/param.hpp (original)
+++ sandbox/type_erasure/boost/type_erasure/param.hpp 2013-02-25 18:37:06 EST (Mon, 25 Feb 2013)
@@ -19,6 +19,8 @@
 #include <boost/type_traits/remove_reference.hpp>
 #include <boost/mpl/bool.hpp>
 #include <boost/mpl/if.hpp>
+#include <boost/type_erasure/detail/access.hpp>
+#include <boost/type_erasure/detail/storage.hpp>
 #include <boost/type_erasure/is_placeholder.hpp>
 #include <boost/type_erasure/concept_of.hpp>
 
@@ -27,6 +29,9 @@
     
 template<class Concept, class T>
 class any;
+
+template<class Concept>
+class binding;
 
 namespace detail {
 
@@ -178,6 +183,14 @@
 template<class Concept, class T>
 class param<Concept, const T&> {
 public:
+
+ friend struct boost::type_erasure::detail::access;
+
+ /** INTERNAL ONLY */
+ typedef void _boost_type_erasure_is_any;
+ /** INTERNAL ONLY */
+ typedef param _boost_type_erasure_derived_type;
+
     param(const ::boost::type_erasure::detail::storage& data,
           const ::boost::type_erasure::binding<Concept>& table)
       : _impl(data, table)
@@ -192,6 +205,14 @@
 template<class Concept, class T>
 class param<Concept, T&> : public param<Concept, const T&> {
 public:
+
+ friend struct boost::type_erasure::detail::access;
+
+ /** INTERNAL ONLY */
+ typedef void _boost_type_erasure_is_any;
+ /** INTERNAL ONLY */
+ typedef param _boost_type_erasure_derived_type;
+
     param(const ::boost::type_erasure::detail::storage& data,
           const ::boost::type_erasure::binding<Concept>& table)
       : param<Concept, const T&>(data, table)
@@ -209,6 +230,14 @@
 template<class Concept, class T>
 class param<Concept, T&&> : public param<Concept, const T&> {
 public:
+
+ friend struct boost::type_erasure::detail::access;
+
+ /** INTERNAL ONLY */
+ typedef void _boost_type_erasure_is_any;
+ /** INTERNAL ONLY */
+ typedef param _boost_type_erasure_derived_type;
+
     param(const ::boost::type_erasure::detail::storage& data,
           const ::boost::type_erasure::binding<Concept>& table)
       : param<Concept, const T&>(data, table)


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