Update of /cvsroot/boost/boost/boost/xpressive/proto
In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv3520/proto
Modified Files:
matches.hpp proto_fwd.hpp
Log Message:
attribute placeholders get real T& instead of opt<T> in actions
Index: matches.hpp
===================================================================
RCS file: /cvsroot/boost/boost/boost/xpressive/proto/matches.hpp,v
retrieving revision 1.51
retrieving revision 1.52
diff -u -d -r1.51 -r1.52
--- matches.hpp 20 Jun 2007 06:29:49 -0000 1.51
+++ matches.hpp 21 Jun 2007 23:11:11 -0000 1.52
@@ -56,22 +56,9 @@
{
struct _;
- typedef char yes_type;
- typedef char (&no_type)[2];
-
- no_type is_placeholder_expression_fun(...);
-
template<typename Expr, typename Grammar>
struct matches_impl;
- template<typename T>
- struct is_placeholder_expression
- {
- static T const *const ptr;
- BOOST_STATIC_CONSTANT(bool, value =
sizeof(is_placeholder_expression_fun(ptr))==sizeof(yes_type));
- typedef mpl::bool_<value> type;
- };
-
// and_ and or_ implementation
template<bool B, typename Expr, typename G0>
struct or1
@@ -417,18 +404,20 @@
namespace placeholder_detail_
{
- struct _ : has_identity_transform
+ struct _
+ : has_identity_transform
{
typedef _ proto_base_expr;
typedef void proto_is_placeholder_;
};
template<typename T>
- detail::yes_type is_placeholder_expression_fun(T const *);
+ transform::detail::yes_type is_placeholder_expression_fun(T const
*);
}
- template<typename Pred>
- struct not_ : has_identity_transform
+ template<typename Grammar>
+ struct not_
+ : has_identity_transform
{
typedef not_ proto_base_expr;
};
Index: proto_fwd.hpp
===================================================================
RCS file: /cvsroot/boost/boost/boost/xpressive/proto/proto_fwd.hpp,v
retrieving revision 1.75
retrieving revision 1.76
diff -u -d -r1.75 -r1.76
--- proto_fwd.hpp 19 Jun 2007 06:13:25 -0000 1.75
+++ proto_fwd.hpp 21 Jun 2007 23:11:11 -0000 1.76
@@ -361,6 +361,14 @@
namespace detail
{
struct default_factory;
+
+ typedef char yes_type;
+ typedef char (&no_type)[2];
+
+ no_type is_placeholder_expression_fun(...);
+
+ template<typename T>
+ struct is_placeholder_expression;
}
template<typename Grammar, typename N = mpl::long_<0> >
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Boost-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/boost-cvs