Update of /cvsroot/boost/boost/boost/xpressive/proto
In directory
sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv13662/boost/xpressive/proto
Modified Files:
make_expr.hpp proto_fwd.hpp
Log Message:
fixes to make proto work with 1.34
Index: make_expr.hpp
===================================================================
RCS file: /cvsroot/boost/boost/boost/xpressive/proto/make_expr.hpp,v
retrieving revision 1.24
retrieving revision 1.25
diff -u -d -r1.24 -r1.25
--- make_expr.hpp 25 Jun 2007 05:39:40 -0000 1.24
+++ make_expr.hpp 28 Jun 2007 02:29:19 -0000 1.25
@@ -12,6 +12,7 @@
#define BOOST_PROTO_MAKE_EXPR_HPP_EAN_04_01_2005
#include <boost/xpressive/proto/detail/prefix.hpp>
+ #include <boost/version.hpp>
#include <boost/preprocessor/cat.hpp>
#include <boost/preprocessor/control/if.hpp>
#include <boost/preprocessor/control/expr_if.hpp>
@@ -49,9 +50,27 @@
#include <boost/xpressive/proto/traits.hpp>
#include <boost/xpressive/proto/domain.hpp>
#include <boost/xpressive/proto/generate.hpp>
- #include <boost/fusion/sequence/intrinsic/at.hpp>
- #include <boost/fusion/sequence/intrinsic/value_at.hpp>
- #include <boost/fusion/sequence/intrinsic/size.hpp>
+ #if BOOST_VERSION >= 103500
+ # include <boost/fusion/sequence/intrinsic/at.hpp>
+ # include <boost/fusion/sequence/intrinsic/value_at.hpp>
+ # include <boost/fusion/sequence/intrinsic/size.hpp>
+ namespace boost { namespace proto { namespace detail
+ {
+ namespace fusion_ = fusion;
+ }}}
+ #else
+ # include <boost/spirit/fusion/sequence/at.hpp>
+ # include <boost/spirit/fusion/sequence/value_at.hpp>
+ # include <boost/spirit/fusion/sequence/size.hpp>
+ namespace boost { namespace proto { namespace detail { namespace fusion_
+ {
+ namespace result_of = fusion::meta;
+ template<int N, typename Seq>
+ typename result_of::at_c<Seq, N>::type at_c(Seq &seq) { return
fusion::at<N>(seq); }
+ template<int N, typename Seq>
+ typename result_of::at_c<Seq const, N>::type at_c(Seq const &seq) {
return fusion::at<N>(seq); }
+ }}}}
+ #endif
#include <boost/xpressive/proto/detail/suffix.hpp>
/// INTERNAL ONLY
@@ -73,16 +92,16 @@
/// INTERNAL ONLY
///
- #define BOOST_PROTO_AT_TYPE(Z, N, DATA)
\
+ # define BOOST_PROTO_AT_TYPE(Z, N, DATA)
\
typename remove_reference<
\
- typename fusion::result_of::value_at_c<BOOST_PP_TUPLE_ELEM(2, 0,
DATA), N >::type \
+ typename
detail::fusion_::result_of::value_at_c<BOOST_PP_TUPLE_ELEM(2, 0, DATA), N
>::type \
>::type
\
/**/
/// INTERNAL ONLY
///
- #define BOOST_PROTO_AT(Z, N, DATA)
\
- fusion::at_c<N >(BOOST_PP_TUPLE_ELEM(2, 0, DATA))
\
+ # define BOOST_PROTO_AT(Z, N, DATA)
\
+ detail::fusion_::at_c<N >(BOOST_PP_TUPLE_ELEM(2, 0, DATA))
\
/**/
/// INTERNAL ONLY
@@ -358,14 +377,14 @@
{
typedef expr<
tag::terminal
- , args0<typename fusion::result_of::value_at_c<Sequence,
0>::type>
+ , args0<typename fusion_::result_of::value_at_c<Sequence,
0>::type>
> expr_type;
typedef typename Domain::template apply<expr_type>::type type;
static type const call(Sequence const &sequence)
{
- expr_type that = {fusion::at_c<0>(sequence)};
+ expr_type that = {fusion_::at_c<0>(sequence)};
return Domain::make(that);
}
};
@@ -417,7 +436,7 @@
Tag
, deduce_domain
, Sequence
- , fusion::result_of::size<Sequence>::type::value
+ , detail::fusion_::result_of::size<Sequence>::type::value
>
{};
@@ -427,7 +446,7 @@
Tag
, Domain
, Sequence
- , fusion::result_of::size<Sequence>::type::value
+ , detail::fusion_::result_of::size<Sequence>::type::value
>
{};
Index: proto_fwd.hpp
===================================================================
RCS file: /cvsroot/boost/boost/boost/xpressive/proto/proto_fwd.hpp,v
retrieving revision 1.81
retrieving revision 1.82
diff -u -d -r1.81 -r1.82
--- proto_fwd.hpp 26 Jun 2007 17:03:00 -0000 1.81
+++ proto_fwd.hpp 28 Jun 2007 02:29:19 -0000 1.82
@@ -53,6 +53,11 @@
{
dont_care(...);
};
+
+ template<typename T>
+ struct remove_cv_ref
+ : remove_cv<typename remove_reference<T>::type>
+ {};
}
///////////////////////////////////////////////////////////////////////////////
@@ -155,23 +160,6 @@
template<typename Expr>
struct ref_;
- struct identity_transform;
-
- struct arg_transform;
-
- struct left_transform;
-
- struct right_transform;
-
- template<typename Always>
- struct always_transform;
-
- template<typename First, typename Second>
- struct compose_transforms;
-
- template<typename Predicate, typename IfTransform, typename ElseTransform
= identity_transform>
- struct conditional_transform;
-
template<typename Expr, typename Grammar>
struct matches;
@@ -270,14 +258,6 @@
struct unpack_expr;
}
- namespace detail
- {
- template<typename T>
- struct remove_cv_ref
- : remove_cv<typename remove_reference<T>::type>
- {};
- }
-
template<typename Expr>
struct tag_of;
@@ -457,6 +437,9 @@
struct list;
template<typename Grammar>
+ struct tail;
+
+ template<typename Grammar>
struct pass_through;
template<typename Grammar, typename ConstructorFun>
-------------------------------------------------------------------------
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