summaryrefslogtreecommitdiff
path: root/boost/phoenix/object/construct.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'boost/phoenix/object/construct.hpp')
-rw-r--r--boost/phoenix/object/construct.hpp20
1 files changed, 15 insertions, 5 deletions
diff --git a/boost/phoenix/object/construct.hpp b/boost/phoenix/object/construct.hpp
index eaa419a456..ffcf192d4e 100644
--- a/boost/phoenix/object/construct.hpp
+++ b/boost/phoenix/object/construct.hpp
@@ -16,12 +16,16 @@
#include <boost/phoenix/support/iterate.hpp>
#include <boost/preprocessor/repetition/repeat_from_to.hpp>
+#ifdef BOOST_PHOENIX_NO_VARIADIC_EXPRESSION
+# include <boost/phoenix/object/detail/cpp03/construct_expr.hpp>
+#else
BOOST_PHOENIX_DEFINE_EXPRESSION_VARARG(
(boost)(phoenix)(construct)
, (proto::terminal<detail::target<proto::_> >)
(meta_grammar)
- , BOOST_PHOENIX_COMPOSITE_LIMIT
+ , _
)
+#endif
namespace boost { namespace phoenix
{
@@ -30,6 +34,7 @@ namespace boost { namespace phoenix
template <typename Sig>
struct result;
+#if defined(BOOST_PHOENIX_NO_VARIADIC_OBJECT)
template <typename This, typename A0, typename Context>
struct result<This(A0, Context)>
: detail::result_of::target<A0>
@@ -44,8 +49,10 @@ namespace boost { namespace phoenix
}
// Bring in the rest
- #include <boost/phoenix/object/detail/construct_eval.hpp>
-
+ #include <boost/phoenix/object/detail/cpp03/construct_eval.hpp>
+#else
+ // TODO:
+#endif
};
template <typename Dummy>
@@ -53,6 +60,7 @@ namespace boost { namespace phoenix
: call<construct_eval, Dummy>
{};
+#if defined(BOOST_PHOENIX_NO_VARIADIC_OBJECT)
template <typename T>
inline
typename expression::construct<detail::target<T> >::type const
@@ -65,8 +73,10 @@ namespace boost { namespace phoenix
}
// Bring in the rest
- #include <boost/phoenix/object/detail/construct.hpp>
-
+ #include <boost/phoenix/object/detail/cpp03/construct.hpp>
+#else
+ // TODO:
+#endif
}}
#endif