annotate DEPENDENCIES/generic/include/boost/spirit/home/phoenix/operator/logical.hpp @ 16:2665513ce2d3

Add boost headers
author Chris Cannam
date Tue, 05 Aug 2014 11:11:38 +0100
parents
children
rev   line source
Chris@16 1 /*=============================================================================
Chris@16 2 Copyright (c) 2001-2007 Joel de Guzman
Chris@16 3
Chris@16 4 Distributed under the Boost Software License, Version 1.0. (See accompanying
Chris@16 5 file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
Chris@16 6 ==============================================================================*/
Chris@16 7 #ifndef PHOENIX_OPERATOR_LOGICAL_HPP
Chris@16 8 #define PHOENIX_OPERATOR_LOGICAL_HPP
Chris@16 9
Chris@16 10 #include <boost/spirit/home/phoenix/core/composite.hpp>
Chris@16 11 #include <boost/spirit/home/phoenix/core/compose.hpp>
Chris@16 12 #include <boost/spirit/home/phoenix/detail/type_deduction.hpp>
Chris@16 13 #include <boost/spirit/home/phoenix/operator/detail/unary_eval.hpp>
Chris@16 14 #include <boost/spirit/home/phoenix/operator/detail/unary_compose.hpp>
Chris@16 15 #include <boost/spirit/home/phoenix/operator/detail/binary_eval.hpp>
Chris@16 16 #include <boost/spirit/home/phoenix/operator/detail/binary_compose.hpp>
Chris@16 17
Chris@16 18 namespace boost { namespace phoenix
Chris@16 19 {
Chris@16 20 struct logical_not_eval;
Chris@16 21 struct logical_and_eval;
Chris@16 22 struct logical_or_eval;
Chris@16 23
Chris@16 24 BOOST_UNARY_RESULT_OF(!x, result_of_logical_not)
Chris@16 25 BOOST_BINARY_RESULT_OF(x && y, result_of_logical_and)
Chris@16 26 BOOST_BINARY_RESULT_OF(x || y, result_of_logical_or)
Chris@16 27
Chris@16 28 #define x a0.eval(env)
Chris@16 29 #define y a1.eval(env)
Chris@16 30
Chris@16 31 PHOENIX_UNARY_EVAL(logical_not_eval, result_of_logical_not, !x)
Chris@16 32 PHOENIX_BINARY_EVAL(logical_and_eval, result_of_logical_and, x && y)
Chris@16 33 PHOENIX_BINARY_EVAL(logical_or_eval, result_of_logical_or, x || y)
Chris@16 34
Chris@16 35 PHOENIX_UNARY_COMPOSE(logical_not_eval, !)
Chris@16 36 PHOENIX_BINARY_COMPOSE(logical_and_eval, &&)
Chris@16 37 PHOENIX_BINARY_COMPOSE(logical_or_eval, ||)
Chris@16 38
Chris@16 39 #undef x
Chris@16 40 #undef y
Chris@16 41 }}
Chris@16 42
Chris@16 43 #endif