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

started BLL compatibility tests

[SVN r67431]
This commit is contained in:
Thomas Heller
2010-12-23 16:35:03 +00:00
parent be65b8f5e3
commit 47ba299044
21 changed files with 4110 additions and 31 deletions

View File

@@ -12,19 +12,31 @@
#define PHOENIX_FUNCTION_DETAIL_FUNCTION_OPERATOR_HPP
#define PHOENIX_ITERATION_PARAMS \
(3, (4, PHOENIX_ACTOR_LIMIT, \
(3, (1, PHOENIX_ACTOR_LIMIT, \
<boost/phoenix/function/detail/function_operator.hpp>))
#include PHOENIX_ITERATE()
#endif
#else
template <typename This, PHOENIX_typename_A>
struct result<This(PHOENIX_A)>
:result<This(PHOENIX_A_const_ref)>//: result_of::function<F, PHOENIX_A>
{};
template <typename This, PHOENIX_typename_A>
struct result<This(PHOENIX_A_const_ref)>
struct result<This(PHOENIX_A_ref)>
: result_of::function<F, PHOENIX_A>
{};
template <PHOENIX_typename_A>
typename result_of::function<F, PHOENIX_A>::type const
operator()(PHOENIX_A_ref_a) const
{
return proto::make_expr<
proto::tag::function, phoenix_domain>(f, PHOENIX_a);
}
template <PHOENIX_typename_A>
typename result_of::function<F, PHOENIX_A>::type const
operator()(PHOENIX_A_const_ref_a) const

View File

@@ -97,35 +97,6 @@ namespace boost { namespace phoenix
return proto::make_expr<proto::tag::function, phoenix_domain>(f);
}
template <typename This, typename A0>
struct result<This(A0 const&)>
: result_of::function<F, A0>
{};
template <typename A0>
typename result_of::function<F, A0>::type const
operator()(A0 const& a0) const
{
return proto::make_expr<
proto::tag::function, phoenix_domain>(f, a0);
}
template <typename A0, typename A1>
typename result_of::function<F, A0, A1>::type const
operator()(A0 const& a0, A1 const& a1) const
{
return proto::make_expr<
proto::tag::function, phoenix_domain>(f, a0, a1);
}
template <typename A0, typename A1, typename A2>
typename result_of::function<F, A0, A1, A2>::type const
operator()(A0 const& a0, A1 const& a1, A2 const& a2) const
{
return proto::make_expr<
proto::tag::function, phoenix_domain>(f, a0, a1, a2);
}
// Bring in the rest
#include <boost/phoenix/function/detail/function_operator.hpp>