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:
@@ -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
|
||||
|
||||
|
||||
@@ -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)>)>
|
||||
>()>
|
||||
>
|
||||
{};
|
||||
};
|
||||
|
||||
@@ -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, _));
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -35,7 +35,7 @@ namespace boost { namespace phoenix
|
||||
, mpl::true_()
|
||||
, mpl::and_<
|
||||
proto::_state
|
||||
, evaluator(proto::_, _context)
|
||||
, proto::call<evaluator(proto::_, _context)>
|
||||
>()
|
||||
>
|
||||
{};
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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()>
|
||||
)
|
||||
>
|
||||
{};
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user