|
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