/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman 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) ==============================================================================*/ #if !defined(BOOST_SPIRIT_META_GRAMMAR_JAN_29_2007_0937AM) #define BOOST_SPIRIT_META_GRAMMAR_JAN_29_2007_0937AM #include #include #include #include #include namespace boost { namespace spirit { namespace qi { // Check if Expr is a valid RD expression template struct is_valid_expr : mpl::false_ {}; // Return a suitable transform for the given Expr template struct expr_transform; struct main_meta_grammar : meta_grammar::if_transform< is_valid_expr() , expr_transform > { }; }}} namespace boost { namespace spirit { namespace meta_grammar { /////////////////////////////////////////////////////////////////////////// // The spirit qi domain meta-grammar /////////////////////////////////////////////////////////////////////////// template <> struct grammar { typedef qi::main_meta_grammar type; }; }}} #endif