File indexing completed on 2024-11-15 09:24:01
0001
0002
0003
0004
0005
0006
0007
0008 #ifndef BOOST_PHOENIX_OPERATOR_IF_ELSE_HPP
0009 #define BOOST_PHOENIX_OPERATOR_IF_ELSE_HPP
0010
0011 #include <boost/phoenix/core/limits.hpp>
0012 #include <boost/phoenix/core/meta_grammar.hpp>
0013 #include <boost/phoenix/core/expression.hpp>
0014 #include <boost/proto/operators.hpp>
0015
0016 namespace boost { namespace phoenix
0017 {
0018 namespace tag
0019 {
0020 typedef proto::tag::if_else_ if_else_operator;
0021 }
0022
0023 namespace expression
0024 {
0025 template <typename A0, typename A1, typename A2>
0026 struct if_else_operator
0027 : expr<tag::if_else_operator, A0, A1, A2>
0028 {};
0029 }
0030
0031 namespace rule
0032 {
0033 struct if_else_operator
0034 : expression::if_else_operator<
0035 meta_grammar
0036 , meta_grammar
0037 , meta_grammar
0038 >
0039 {};
0040 }
0041
0042 template <typename Dummy>
0043 struct meta_grammar::case_<tag::if_else_operator, Dummy>
0044 : enable_rule<rule::if_else_operator, Dummy>
0045 {};
0046
0047 using proto::if_else;
0048 }}
0049
0050 #endif