2
0
mirror of https://github.com/boostorg/phoenix.git synced 2026-02-15 01:12:09 +00:00

Fixes for msvc-9.0

[SVN r68924]
This commit is contained in:
Thomas Heller
2011-02-15 19:36:23 +00:00
parent 10b2797ce7
commit 1349009371
7 changed files with 29 additions and 13 deletions

View File

@@ -24,6 +24,11 @@
#include <boost/mpl/void.hpp>
#include <cstring>
#ifdef BOOST_MSVC
#pragma warning(push)
#pragma warning(disable: 4522) // 'this' used in base member initializer list
#endif
namespace boost { namespace phoenix
{
template <typename Expr>
@@ -164,5 +169,10 @@ namespace boost
{};
}
#ifdef BOOST_MSVC
#pragma warning(pop)
#endif
#endif

View File

@@ -15,6 +15,7 @@
#include <boost/phoenix/core/meta_grammar.hpp>
#include <boost/phoenix/core/terminal_fwd.hpp>
#include <boost/phoenix/support/vector.hpp>
#include <boost/proto/matches.hpp>
#include <boost/proto/transform/fold.hpp>
namespace boost { namespace phoenix
@@ -51,10 +52,10 @@ namespace boost { namespace phoenix
: proto::fold<
proto::_
, mpl::int_<0>
, mpl::max<
, proto::make<mpl::max<
proto::_state
, evaluator(proto::_, functional::context(_env, _actions))
>()
, proto::call<evaluator(proto::_, proto::call<functional::context(_env, _actions)>)>
>()>
>
{};
};

View File

@@ -64,7 +64,7 @@
: proto::transform_impl<Expr, State, Data>
{
typedef
typename result_of::context<State, Data>::type
typename boost::phoenix::result_of::context<State, Data>::type
context_type;
BOOST_PP_REPEAT(PHOENIX_ITERATION, M0, _)
@@ -79,7 +79,7 @@
, typename call_impl::data_param d
) const
{
return Fun()(context(s, d) BOOST_PP_REPEAT(PHOENIX_ITERATION, M1, _));
return Fun()(boost::phoenix::context(s, d) BOOST_PP_REPEAT(PHOENIX_ITERATION, M1, _));
}
};

View File

@@ -35,7 +35,7 @@ namespace boost { namespace phoenix
, mpl::true_()
, mpl::and_<
proto::_state
, evaluator(proto::_, _context)
, proto::call<evaluator(proto::_, _context)>
>()
>
{};

View File

@@ -81,7 +81,12 @@ namespace boost { namespace phoenix
template <typename Dummy>
struct default_actions::when<rule::custom_terminal, Dummy>
: proto::lazy<custom_terminal<proto::_value>(proto::_value, functional::context(_env, _actions))>
: proto::lazy<
custom_terminal<proto::_value>(
proto::_value
, _context
)
>
{};
namespace detail

View File

@@ -131,11 +131,11 @@ namespace boost { namespace phoenix
: proto::call<
evaluator(
proto::_child_c<2>
, functional::context(
, proto::call<functional::context(
mpl::true_()
, detail::scope_is_nullary_actions()
)
, int()
)>
, proto::make<int()>
)
>
{};

View File

@@ -713,7 +713,7 @@ namespace boost { namespace phoenix
typedef void result_type;
template <typename C, typename Arg1, typename Arg2>
void operator()(C& c, Arg1 arg1, Arg2 arg2) const
void operator()(C& c, Arg1 arg1, Arg2 &arg2) const
{
c.splice(arg1, arg2);
}
@@ -727,7 +727,7 @@ namespace boost { namespace phoenix
void operator()(
C& c
, Arg1 arg1
, Arg2 arg2
, Arg2 & arg2
, Arg3 arg3
) const
{
@@ -744,7 +744,7 @@ namespace boost { namespace phoenix
void operator()(
C c
, Arg1 arg1
, Arg2 arg2
, Arg2 & arg2
, Arg3 arg3
, Arg4 arg4
) const