Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r50242 - in branches/release: . boost/proto boost/proto/transform
From: eric_at_[hidden]
Date: 2008-12-11 12:58:44


Author: eric_niebler
Date: 2008-12-11 12:58:43 EST (Thu, 11 Dec 2008)
New Revision: 50242
URL: http://svn.boost.org/trac/boost/changeset/50242

Log:
Merged revisions 50169,50185 via svnmerge from
https://svn.boost.org/svn/boost/trunk

........
  r50169 | eric_niebler | 2008-12-06 22:21:54 -0800 (Sat, 06 Dec 2008) | 1 line
  
  eliminate bogus gcc warning
........
  r50185 | eric_niebler | 2008-12-07 18:06:58 -0800 (Sun, 07 Dec 2008) | 1 line
  
  temporary hack to make proto work with C++0x
........

Properties modified:
   branches/release/ (props changed)
Text files modified:
   branches/release/boost/proto/expr.hpp | 2
   branches/release/boost/proto/extends.hpp | 2
   branches/release/boost/proto/generate.hpp | 9 +++
   branches/release/boost/proto/matches.hpp | 15 +++++
   branches/release/boost/proto/repeat.hpp | 98 ++++++++++++++++++++-------------------
   branches/release/boost/proto/traits.hpp | 7 ++
   branches/release/boost/proto/transform/arg.hpp | 29 ++++++++++-
   branches/release/boost/proto/transform/pass_through.hpp | 7 ++
   8 files changed, 112 insertions(+), 57 deletions(-)

Modified: branches/release/boost/proto/expr.hpp
==============================================================================
--- branches/release/boost/proto/expr.hpp (original)
+++ branches/release/boost/proto/expr.hpp 2008-12-11 12:58:43 EST (Thu, 11 Dec 2008)
@@ -409,7 +409,7 @@
             template<typename Sig>
             struct result
             {
- typedef typename result_of::funop<Sig, expr, default_domain>::type type;
+ typedef typename result_of::funop<Sig, expr, default_domain>::type const type;
             };
 
             /// Function call

Modified: branches/release/boost/proto/extends.hpp
==============================================================================
--- branches/release/boost/proto/extends.hpp (original)
+++ branches/release/boost/proto/extends.hpp 2008-12-11 12:58:43 EST (Thu, 11 Dec 2008)
@@ -344,7 +344,7 @@
                           , proto_domain \
>::type \
                     ) \
- >::type \
+ >::type const \
             type; \
         }; \
         /**/

Modified: branches/release/boost/proto/generate.hpp
==============================================================================
--- branches/release/boost/proto/generate.hpp (original)
+++ branches/release/boost/proto/generate.hpp 2008-12-11 12:58:43 EST (Thu, 11 Dec 2008)
@@ -12,6 +12,8 @@
     #define BOOST_PROTO_GENERATE_HPP_EAN_02_13_2007
 
     #include <boost/proto/detail/prefix.hpp>
+ #include <boost/config.hpp>
+ #include <boost/utility/result_of.hpp>
     #include <boost/preprocessor/cat.hpp>
     #include <boost/preprocessor/iteration/iterate.hpp>
     #include <boost/preprocessor/repetition/enum.hpp>
@@ -98,7 +100,12 @@
             /// \param expr A Proto expression
             /// \return expr
             template<typename Expr>
- Expr const &operator ()(Expr const &expr) const
+ #ifdef BOOST_HAS_DECLTYPE
+ Expr
+ #else
+ Expr const &
+ #endif
+ operator ()(Expr const &expr) const
             {
                 return expr;
             }

Modified: branches/release/boost/proto/matches.hpp
==============================================================================
--- branches/release/boost/proto/matches.hpp (original)
+++ branches/release/boost/proto/matches.hpp 2008-12-11 12:58:43 EST (Thu, 11 Dec 2008)
@@ -12,6 +12,7 @@
     #define BOOST_PROTO_MATCHES_HPP_EAN_11_03_2006
 
     #include <boost/proto/detail/prefix.hpp> // must be first include
+ #include <boost/config.hpp>
     #include <boost/detail/workaround.hpp>
     #include <boost/preprocessor/cat.hpp>
     #include <boost/preprocessor/arithmetic/dec.hpp>
@@ -538,7 +539,12 @@
 
                     /// \param expr An expression
                     /// \return \c e
- typename impl::expr_param operator()(
+ #ifdef BOOST_HAS_DECLTYPE
+ result_type
+ #else
+ typename impl::expr_param
+ #endif
+ operator()(
                         typename impl::expr_param e
                       , typename impl::state_param
                       , typename impl::data_param
@@ -573,7 +579,12 @@
                     /// \param e An expression
                     /// \pre <tt>matches\<Expr,not_\>::::value</tt> is \c true.
                     /// \return \c e
- typename impl::expr_param operator()(
+ #ifdef BOOST_HAS_DECLTYPE
+ result_type
+ #else
+ typename impl::expr_param
+ #endif
+ operator()(
                         typename impl::expr_param e
                       , typename impl::state_param
                       , typename impl::data_param

Modified: branches/release/boost/proto/repeat.hpp
==============================================================================
--- branches/release/boost/proto/repeat.hpp (original)
+++ branches/release/boost/proto/repeat.hpp 2008-12-11 12:58:43 EST (Thu, 11 Dec 2008)
@@ -103,29 +103,31 @@
 ///
 /// Example:
 ///
-/// \code
-/// // Generate BOOST_PROTO_MAX_ARITY-1 overloads of the
-/// // following construct() function template.
-/// #define M0(N, typename_A, A_const_ref, A_const_ref_a, ref_a) \
-/// template<typename T, typename_A(N)> \
-/// typename proto::result_of::make_expr< \
-/// proto::tag::function \
-/// , construct_helper<T> \
-/// , A_const_ref(N) \
-/// >::type const \
-/// construct(A_const_ref_a(N)) \
-/// { \
-/// return proto::make_expr< \
-/// proto::tag::function \
-/// >( \
-/// construct_helper<T>() \
-/// , ref_a(N) \
-/// ); \
-/// }
-/// BOOST_PROTO_REPEAT_FROM_TO(1, BOOST_PROTO_MAX_ARITY, M0)
-/// #undef M0
-/// \endcode
-///
+/** \code
+
+// Generate BOOST_PROTO_MAX_ARITY-1 overloads of the
+// following construct() function template.
+#define M0(N, typename_A, A_const_ref, A_const_ref_a, ref_a) \
+template<typename T, typename_A(N)> \
+typename proto::result_of::make_expr< \
+ proto::tag::function \
+ , construct_helper<T> \
+ , A_const_ref(N) \
+>::type const \
+construct(A_const_ref_a(N)) \
+{ \
+ return proto::make_expr< \
+ proto::tag::function \
+ >( \
+ construct_helper<T>() \
+ , ref_a(N) \
+ ); \
+}
+BOOST_PROTO_REPEAT_FROM_TO(1, BOOST_PROTO_MAX_ARITY, M0)
+#undef M0
+
+\endcode
+**/
 /// The above invocation of BOOST_PROTO_REPEAT_FROM_TO() will generate
 /// the following code:
 ///
@@ -211,30 +213,32 @@
 ///
 /// Example:
 ///
-/// \code
-/// // Generate BOOST_PROTO_MAX_ARITY-1 overloads of the
-/// // following construct() function template.
-/// #define BOOST_PROTO_LOCAL_MACRO(N, typename_A, A_const_ref, \
-/// A_const_ref_a, ref_a) \
-/// template<typename T, typename_A(N)> \
-/// typename proto::result_of::make_expr< \
-/// proto::tag::function \
-/// , construct_helper<T> \
-/// , A_const_ref(N) \
-/// >::type const \
-/// construct(A_const_ref_a(N)) \
-/// { \
-/// return proto::make_expr< \
-/// proto::tag::function \
-/// >( \
-/// construct_helper<T>() \
-/// , ref_a(N) \
-/// ); \
-/// }
-/// #define BOOST_PROTO_LOCAL_LIMITS (1, BOOST_PP_DEC(BOOST_PROTO_MAX_ARITY))
-/// #include BOOST_PROTO_LOCAL_ITERATE()
-/// \endcode
-///
+/** \code
+
+// Generate BOOST_PROTO_MAX_ARITY-1 overloads of the
+// following construct() function template.
+#define BOOST_PROTO_LOCAL_MACRO(N, typename_A, A_const_ref, \
+ A_const_ref_a, ref_a) \
+template<typename T, typename_A(N)> \
+typename proto::result_of::make_expr< \
+ proto::tag::function \
+ , construct_helper<T> \
+ , A_const_ref(N) \
+>::type const \
+construct(A_const_ref_a(N)) \
+{ \
+ return proto::make_expr< \
+ proto::tag::function \
+ >( \
+ construct_helper<T>() \
+ , ref_a(N) \
+ ); \
+}
+#define BOOST_PROTO_LOCAL_LIMITS (1, BOOST_PP_DEC(BOOST_PROTO_MAX_ARITY))
+#include BOOST_PROTO_LOCAL_ITERATE()
+
+\endcode
+**/
 /// The above inclusion of BOOST_PROTO_LOCAL_ITERATE() will generate
 /// the following code:
 ///

Modified: branches/release/boost/proto/traits.hpp
==============================================================================
--- branches/release/boost/proto/traits.hpp (original)
+++ branches/release/boost/proto/traits.hpp 2008-12-11 12:58:43 EST (Thu, 11 Dec 2008)
@@ -543,7 +543,12 @@
                     /// \pre <tt>matches\<Expr, terminal\<T\> \>::::value</tt> is \c true.
                     /// \return \c e
                     /// \throw nothrow
- typename impl::expr_param operator ()(
+ #ifdef BOOST_HAS_DECLTYPE
+ result_type
+ #else
+ typename impl::expr_param
+ #endif
+ operator ()(
                         typename impl::expr_param e
                       , typename impl::state_param
                       , typename impl::data_param

Modified: branches/release/boost/proto/transform/arg.hpp
==============================================================================
--- branches/release/boost/proto/transform/arg.hpp (original)
+++ branches/release/boost/proto/transform/arg.hpp 2008-12-11 12:58:43 EST (Thu, 11 Dec 2008)
@@ -39,7 +39,12 @@
             /// \param e The current expression.
             /// \return \c e
             /// \throw nothrow
- typename impl::expr_param operator()(
+ #ifdef BOOST_HAS_DECLTYPE
+ result_type
+ #else
+ typename impl::expr_param
+ #endif
+ operator()(
                 typename impl::expr_param e
               , typename impl::state_param
               , typename impl::data_param
@@ -71,7 +76,12 @@
             /// \param s The current state.
             /// \return \c s
             /// \throw nothrow
- typename impl::state_param operator ()(
+ #ifdef BOOST_HAS_DECLTYPE
+ result_type
+ #else
+ typename impl::state_param
+ #endif
+ operator ()(
                 typename impl::expr_param
               , typename impl::state_param s
               , typename impl::data_param
@@ -104,7 +114,12 @@
             /// \param d The current data.
             /// \return \c d
             /// \throw nothrow
- typename impl::data_param operator ()(
+ #ifdef BOOST_HAS_DECLTYPE
+ result_type
+ #else
+ typename impl::data_param
+ #endif
+ operator ()(
                 typename impl::expr_param
               , typename impl::state_param
               , typename impl::data_param d
@@ -140,7 +155,11 @@
             /// \param e The current expression.
             /// \return <tt>proto::child_c\<N\>(e)</tt>
             /// \throw nothrow
+ #ifdef BOOST_HAS_DECLTYPE
+ result_type
+ #else
             typename result_of::child_c<typename impl::expr_param, N>::type
+ #endif
             operator ()(
                 typename impl::expr_param e
               , typename impl::state_param
@@ -176,7 +195,11 @@
             /// \param e The current expression.
             /// \return <tt>proto::value(e)</tt>
             /// \throw nothrow
+ #ifdef BOOST_HAS_DECLTYPE
+ result_type
+ #else
             typename result_of::value<typename impl::expr_param>::type
+ #endif
             operator ()(
                 typename impl::expr_param e
               , typename impl::state_param

Modified: branches/release/boost/proto/transform/pass_through.hpp
==============================================================================
--- branches/release/boost/proto/transform/pass_through.hpp (original)
+++ branches/release/boost/proto/transform/pass_through.hpp 2008-12-11 12:58:43 EST (Thu, 11 Dec 2008)
@@ -69,7 +69,12 @@
                 /// \param e An expression
                 /// \return \c e
                 /// \throw nothrow
- typename pass_through_impl::expr_param operator()(
+ #ifdef BOOST_HAS_DECLTYPE
+ result_type
+ #else
+ typename pass_through_impl::expr_param
+ #endif
+ operator()(
                     typename pass_through_impl::expr_param e
                   , typename pass_through_impl::state_param
                   , typename pass_through_impl::data_param


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