Chris@16: /*============================================================================= Chris@16: Copyright (c) 2001-2007 Joel de Guzman Chris@16: Chris@16: Distributed under the Boost Software License, Version 1.0. (See accompanying Chris@16: file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) Chris@16: ==============================================================================*/ Chris@16: #ifndef PHOENIX_OPERATOR_COMPARISON_HPP Chris@16: #define PHOENIX_OPERATOR_COMPARISON_HPP Chris@16: Chris@16: #include Chris@16: #include Chris@16: #include Chris@16: #include Chris@16: #include Chris@16: #include Chris@16: #include Chris@16: Chris@16: namespace boost { namespace phoenix Chris@16: { Chris@16: struct equal_to_eval; Chris@16: struct not_equal_to_eval; Chris@16: struct less_eval; Chris@16: struct less_equal_eval; Chris@16: struct greater_eval; Chris@16: struct greater_equal_eval; Chris@16: Chris@16: BOOST_BINARY_RESULT_OF(x == y, result_of_equal_to) Chris@16: BOOST_BINARY_RESULT_OF(x != y, result_of_not_equal_to) Chris@16: BOOST_BINARY_RESULT_OF(x < y, result_of_less) Chris@16: BOOST_BINARY_RESULT_OF(x <= y, result_of_less_equal) Chris@16: BOOST_BINARY_RESULT_OF(x > y, result_of_greater) Chris@16: BOOST_BINARY_RESULT_OF(x >= y, result_of_greater_equal) Chris@16: Chris@16: #define x a0.eval(env) Chris@16: #define y a1.eval(env) Chris@16: Chris@16: PHOENIX_BINARY_EVAL(equal_to_eval, result_of_equal_to, x == y) Chris@16: PHOENIX_BINARY_EVAL(not_equal_to_eval, result_of_not_equal_to, x != y) Chris@16: PHOENIX_BINARY_EVAL(less_eval, result_of_less, x < y) Chris@16: PHOENIX_BINARY_EVAL(less_equal_eval, result_of_less_equal, x <= y) Chris@16: PHOENIX_BINARY_EVAL(greater_eval, result_of_greater, x > y) Chris@16: PHOENIX_BINARY_EVAL(greater_equal_eval, result_of_greater_equal, x >= y) Chris@16: Chris@16: PHOENIX_BINARY_COMPOSE(equal_to_eval, ==) Chris@16: PHOENIX_BINARY_COMPOSE(not_equal_to_eval, !=) Chris@16: PHOENIX_BINARY_COMPOSE(less_eval, <) Chris@16: PHOENIX_BINARY_COMPOSE(less_equal_eval, <=) Chris@16: PHOENIX_BINARY_COMPOSE(greater_eval, >) Chris@16: PHOENIX_BINARY_COMPOSE(greater_equal_eval, >=) Chris@16: Chris@16: #undef x Chris@16: #undef y Chris@16: }} Chris@16: Chris@16: #endif