Boost logo

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