Chris@102: /*============================================================================= Chris@102: Copyright (c) 2001-2012 Joel de Guzman Chris@102: Chris@102: Distributed under the Boost Software License, Version 1.0. (See accompanying Chris@102: file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) Chris@102: ==============================================================================*/ Chris@102: #if !defined(BOOST_SPIRIT_AUTO_FEBRUARY_7_2012_0159PM) Chris@102: #define BOOST_SPIRIT_AUTO_FEBRUARY_7_2012_0159PM Chris@102: Chris@102: #include Chris@102: #include Chris@102: Chris@102: #if defined(_MSC_VER) Chris@102: #pragma once Chris@102: #endif Chris@102: Chris@102: #include Chris@102: Chris@102: // Support for c++11 auto. See: Chris@102: // http://boost-spirit.com/home/articles/qi-example/zero-to-60-mph-in-2-seconds/ Chris@102: // for more info Chris@102: Chris@102: #if defined(BOOST_NO_CXX11_AUTO_DECLARATIONS) Chris@102: Chris@102: #define BOOST_SPIRIT_AUTO(domain_, name, expr) \ Chris@102: typedef boost::proto::result_of:: \ Chris@102: deep_copy::type name##_expr_type; \ Chris@102: BOOST_SPIRIT_ASSERT_MATCH( \ Chris@102: boost::spirit::domain_::domain, name##_expr_type); \ Chris@102: BOOST_AUTO(name, boost::proto::deep_copy(expr)); \ Chris@102: /****/ Chris@102: Chris@102: #endif Chris@102: Chris@102: #endif