/*============================================================================== Copyright (c) 2001-2010 Joel de Guzman Copyright (c) 2010 Thomas Heller 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 BOOST_PHOENIX_OPERATOR_IF_ELSE_HPP #define BOOST_PHOENIX_OPERATOR_IF_ELSE_HPP #include <boost/phoenix/core/limits.hpp> #include <boost/phoenix/core/meta_grammar.hpp> #include <boost/phoenix/core/expression.hpp> #include <boost/proto/operators.hpp> namespace boost { namespace phoenix { namespace tag { typedef proto::tag::if_else_ if_else_operator; } namespace expression { template <typename A0, typename A1, typename A2> struct if_else_operator : expr<tag::if_else_operator, A0, A1, A2> {}; } namespace rule { struct if_else_operator : expression::if_else_operator< meta_grammar , meta_grammar , meta_grammar > {}; } template <typename Dummy> struct meta_grammar::case_<tag::if_else_operator, Dummy> : enable_rule<rule::if_else_operator, Dummy> {}; using proto::if_else; }} #endif