Chris@16: /*============================================================================= Chris@16: Copyright (c) 2005-2010 Joel de Guzman Chris@16: Copyright (c) 2010 Eric Niebler 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 BOOST_PHOENIX_CORE_DOMAIN_HPP Chris@16: #define BOOST_PHOENIX_CORE_DOMAIN_HPP Chris@16: 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: template Chris@16: struct actor; Chris@16: Chris@16: struct meta_grammar; Chris@16: Chris@16: struct phoenix_generator Chris@16: : proto::switch_ Chris@16: { Chris@101: Chris@101: BOOST_PROTO_USE_BASIC_EXPR() Chris@101: Chris@16: template Chris@16: struct case_ Chris@16: : proto::otherwise(proto::_)> > Chris@16: {}; Chris@16: }; Chris@16: Chris@101: struct phoenix_default_domain Chris@101: : proto::domain< Chris@101: proto::basic_default_generator Chris@101: , proto::_ Chris@101: , proto::basic_default_domain Chris@101: > Chris@101: { Chris@101: template Chris@101: struct as_child Chris@101: //: proto_base_domain::as_expr // proto lambda example. Chris@101: : as_expr Chris@101: {}; Chris@101: }; Chris@101: Chris@16: struct phoenix_domain Chris@16: : proto::domain< Chris@16: phoenix_generator Chris@16: , meta_grammar Chris@16: , proto::basic_default_domain Chris@16: > Chris@16: { Chris@16: template Chris@16: struct as_child Chris@101: //: proto_base_domain::as_expr // proto lambda example. Chris@101: : as_expr Chris@16: {}; Chris@16: }; Chris@16: }} Chris@16: Chris@16: #endif