summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVlad Voicu <vladv@rosedu.org>2012-03-02 10:01:11 (GMT)
committervlad <vlad@tyrion.(none)>2012-10-13 13:55:44 (GMT)
commitb21e43357c66df6824536793bf41bbd1cbdf1a72 (patch)
treea23ee2adda43c27aa1b720f524e368991264182c /3rdParty/Boost/src/boost/spirit/home/phoenix/operator/detail/unary_eval.hpp
parent58efe2c43e54a3d868784a6968e52674309e2310 (diff)
downloadswift-contrib-b21e43357c66df6824536793bf41bbd1cbdf1a72.zip
swift-contrib-b21e43357c66df6824536793bf41bbd1cbdf1a72.tar.bz2
Added spirit to bundled boost
Diffstat (limited to '3rdParty/Boost/src/boost/spirit/home/phoenix/operator/detail/unary_eval.hpp')
-rw-r--r--3rdParty/Boost/src/boost/spirit/home/phoenix/operator/detail/unary_eval.hpp40
1 files changed, 40 insertions, 0 deletions
diff --git a/3rdParty/Boost/src/boost/spirit/home/phoenix/operator/detail/unary_eval.hpp b/3rdParty/Boost/src/boost/spirit/home/phoenix/operator/detail/unary_eval.hpp
new file mode 100644
index 0000000..501f6df
--- /dev/null
+++ b/3rdParty/Boost/src/boost/spirit/home/phoenix/operator/detail/unary_eval.hpp
@@ -0,0 +1,40 @@
+/*=============================================================================
+ Copyright (c) 2001-2007 Joel de Guzman
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
+#ifndef PHOENIX_OPERATOR_DETAIL_UNARY_EVAL_HPP
+#define PHOENIX_OPERATOR_DETAIL_UNARY_EVAL_HPP
+
+#include <boost/mpl/eval_if.hpp>
+#include <boost/spirit/home/phoenix/core/compose.hpp>
+
+#define PHOENIX_UNARY_EVAL(eval_name, op_result, expr) \
+ struct eval_name \
+ { \
+ template <typename Env, typename A0> \
+ struct result \
+ { \
+ typedef typename A0::template result<Env>::type x_type; \
+ \
+ typedef typename \
+ mpl::eval_if< \
+ is_actor<x_type> \
+ , re_curry<eval_name, x_type> \
+ , op_result<x_type> \
+ >::type \
+ type; \
+ }; \
+ \
+ template <typename RT, typename Env, typename A0> \
+ static RT \
+ eval(Env const& env, A0& a0) \
+ { \
+ return expr; \
+ } \
+ };
+
+#endif
+
+