|
Boost-Commit : |
Subject: [Boost-commit] svn:boost r49624 - in trunk/boost/proto: . detail transform
From: eric_at_[hidden]
Date: 2008-11-07 11:59:39
Author: eric_niebler
Date: 2008-11-07 11:59:38 EST (Fri, 07 Nov 2008)
New Revision: 49624
URL: http://svn.boost.org/trac/boost/changeset/49624
Log:
fix some comments, workaround msvc-7.1 and intel compiler bug
Text files modified:
trunk/boost/proto/args.hpp | 3 ++-
trunk/boost/proto/detail/poly_function.hpp | 1 +
trunk/boost/proto/domain.hpp | 2 ++
trunk/boost/proto/expr.hpp | 8 ++++----
trunk/boost/proto/extends.hpp | 8 ++++----
trunk/boost/proto/matches.hpp | 1 +
trunk/boost/proto/traits.hpp | 7 +++++++
trunk/boost/proto/transform/make.hpp | 2 +-
8 files changed, 22 insertions(+), 10 deletions(-)
Modified: trunk/boost/proto/args.hpp
==============================================================================
--- trunk/boost/proto/args.hpp (original)
+++ trunk/boost/proto/args.hpp 2008-11-07 11:59:38 EST (Fri, 07 Nov 2008)
@@ -33,11 +33,12 @@
#define BOOST_PROTO_DEFINE_CHILD_N(Z, N, DATA) \
typedef BOOST_PP_CAT(Arg, N) BOOST_PP_CAT(child, N); \
typedef expr_ref<BOOST_PP_CAT(Arg, N)> BOOST_PP_CAT(child_ref, N); \
+ /**< INTERNAL ONLY */
#define BOOST_PROTO_DEFINE_VOID_N(z, n, data) \
typedef mpl::void_ BOOST_PP_CAT(child, n); \
typedef mpl::void_ BOOST_PP_CAT(child_ref, n); \
- /**/
+ /**< INTERNAL ONLY */
/// INTERNAL ONLY
template<typename Expr>
Modified: trunk/boost/proto/detail/poly_function.hpp
==============================================================================
--- trunk/boost/proto/detail/poly_function.hpp (original)
+++ trunk/boost/proto/detail/poly_function.hpp 2008-11-07 11:59:38 EST (Fri, 07 Nov 2008)
@@ -144,6 +144,7 @@
////////////////////////////////////////////////////////////////////////////////////////////////
struct poly_function_base
{
+ /// INTERNAL ONLY
BOOST_PROTO_POLY_FUNCTION()
};
Modified: trunk/boost/proto/domain.hpp
==============================================================================
--- trunk/boost/proto/domain.hpp (original)
+++ trunk/boost/proto/domain.hpp 2008-11-07 11:59:38 EST (Fri, 07 Nov 2008)
@@ -83,6 +83,8 @@
: Generator
{
typedef Grammar proto_grammar;
+
+ /// INTERNAL ONLY
typedef void proto_is_domain_;
};
Modified: trunk/boost/proto/expr.hpp
==============================================================================
--- trunk/boost/proto/expr.hpp (original)
+++ trunk/boost/proto/expr.hpp 2008-11-07 11:59:38 EST (Fri, 07 Nov 2008)
@@ -44,16 +44,16 @@
///
#define BOOST_PROTO_CHILD(Z, N, DATA) \
typedef typename Args::BOOST_PP_CAT(child, N) BOOST_PP_CAT(proto_child, N); \
- typedef typename Args::BOOST_PP_CAT(child_ref, N) BOOST_PP_CAT(proto_child_ref, N); \
BOOST_PP_CAT(proto_child, N) BOOST_PP_CAT(child, N); \
- /**/
+ typedef typename Args::BOOST_PP_CAT(child_ref, N) BOOST_PP_CAT(proto_child_ref, N); \
+ /**< INTERNAL ONLY */
/// INTERNAL ONLY
///
#define BOOST_PROTO_VOID(Z, N, DATA) \
typedef void BOOST_PP_CAT(proto_child, N); \
typedef void BOOST_PP_CAT(proto_child_ref, N); \
- /**/
+ /**< INTERNAL ONLY */
struct not_a_valid_type
{
@@ -187,8 +187,8 @@
typedef Args proto_args;
typedef default_domain proto_domain;
BOOST_PROTO_FUSION_DEFINE_TAG(proto::tag::proto_expr)
- typedef void proto_is_expr_;
typedef expr proto_derived_expr;
+ typedef void proto_is_expr_; /**< INTERNAL ONLY */
BOOST_PP_REPEAT(ARG_COUNT, BOOST_PROTO_CHILD, ~)
BOOST_PP_REPEAT_FROM_TO(ARG_COUNT, BOOST_PROTO_MAX_ARITY, BOOST_PROTO_VOID, ~)
Modified: trunk/boost/proto/extends.hpp
==============================================================================
--- trunk/boost/proto/extends.hpp (original)
+++ trunk/boost/proto/extends.hpp 2008-11-07 11:59:38 EST (Fri, 07 Nov 2008)
@@ -159,7 +159,7 @@
typedef typename proto_base_expr::proto_args proto_args; \
typedef typename proto_base_expr::proto_arity proto_arity; \
typedef typename proto_base_expr::address_of_hack_type_ proto_address_of_hack_type_; \
- typedef void proto_is_expr_; \
+ typedef void proto_is_expr_; /**< INTERNAL ONLY */ \
BOOST_PROTO_FUSION_DEFINE_TAG(boost::proto::tag::proto_expr) \
BOOST_PP_REPEAT(BOOST_PROTO_MAX_ARITY, BOOST_PROTO_EXTENDS_CHILD, ~) \
\
@@ -188,7 +188,7 @@
#define BOOST_PROTO_BASIC_EXTENDS(Expr, Derived, Domain) \
BOOST_PROTO_BASIC_EXTENDS_(Expr, Derived, Domain) \
typedef void proto_is_aggregate_; \
- /**/
+ /**< INTERNAL ONLY */
/// INTERNAL ONLY
///
@@ -544,10 +544,10 @@
typedef typename proto_base_expr::proto_args proto_args;
typedef typename proto_base_expr::proto_arity proto_arity;
typedef typename proto_base_expr::address_of_hack_type_ proto_address_of_hack_type_;
- typedef void proto_is_expr_;
+ typedef void proto_is_expr_; /**< INTERNAL ONLY */
BOOST_PROTO_FUSION_DEFINE_TAG(boost::proto::tag::proto_expr)
BOOST_PP_REPEAT(BOOST_PROTO_MAX_ARITY, BOOST_PROTO_EXTENDS_CHILD, ~)
- typedef void proto_is_aggregate_;
+ typedef void proto_is_aggregate_; /**< INTERNAL ONLY */
BOOST_PROTO_EXTENDS_ASSIGN()
BOOST_PROTO_EXTENDS_SUBSCRIPT()
Modified: trunk/boost/proto/matches.hpp
==============================================================================
--- trunk/boost/proto/matches.hpp (original)
+++ trunk/boost/proto/matches.hpp 2008-11-07 11:59:38 EST (Fri, 07 Nov 2008)
@@ -829,6 +829,7 @@
struct vararg
: Grammar
{
+ /// INTERNAL ONLY
typedef void proto_is_vararg_;
};
}
Modified: trunk/boost/proto/traits.hpp
==============================================================================
--- trunk/boost/proto/traits.hpp (original)
+++ trunk/boost/proto/traits.hpp 2008-11-07 11:59:38 EST (Fri, 07 Nov 2008)
@@ -378,7 +378,14 @@
>
{
// BUGBUG should be able to hold this guy by reference, no?
+ #if BOOST_WORKAROUND(BOOST_MSVC, == 1310) || \
+ BOOST_WORKAROUND(BOOST_INTEL, BOOST_TESTED_AT(1010))
+ // These compilers don't strip top-level cv qualifiers
+ // on arguments in function types
+ typedef typename Domain::template result<void(typename T::proto_derived_expr)>::type type;
+ #else
typedef typename Domain::template result<void(T)>::type type;
+ #endif
/// INTERNAL ONLY
///
Modified: trunk/boost/proto/transform/make.hpp
==============================================================================
--- trunk/boost/proto/transform/make.hpp (original)
+++ trunk/boost/proto/transform/make.hpp 2008-11-07 11:59:38 EST (Fri, 07 Nov 2008)
@@ -189,7 +189,7 @@
/// \code
/// // OK: replace anything with Bar<_>()
/// struct Foo
- /// : proto::when<_, Bar<_>() >
+ /// : proto::when<_, Bar<protect<_> >() >
/// {};
/// \endcode
template<typename PrimitiveTransform>
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