Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-19 09:47:53

0001 /*=============================================================================
0002     Copyright (c) 2001-2012 Joel de Guzman
0003 
0004     Distributed under the Boost Software License, Version 1.0. (See accompanying
0005     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
0006 ==============================================================================*/
0007 #if !defined(BOOST_SPIRIT_AUTO_FEBRUARY_7_2012_0159PM)
0008 #define BOOST_SPIRIT_AUTO_FEBRUARY_7_2012_0159PM
0009 
0010 #include <boost/config.hpp>
0011 #include <boost/typeof/typeof.hpp>
0012 
0013 #if defined(_MSC_VER)
0014 #pragma once
0015 #endif
0016 
0017 #include <boost/config.hpp>
0018 
0019 // Support for c++11 auto. See:
0020 // http://boost-spirit.com/home/articles/qi-example/zero-to-60-mph-in-2-seconds/
0021 // for more info
0022 
0023 #if defined(BOOST_NO_CXX11_AUTO_DECLARATIONS)
0024 
0025 #define BOOST_SPIRIT_AUTO(domain_, name, expr)                                  \
0026     typedef boost::proto::result_of::                                           \
0027         deep_copy<BOOST_TYPEOF(expr)>::type name##_expr_type;                   \
0028     BOOST_SPIRIT_ASSERT_MATCH(                                                  \
0029         boost::spirit::domain_::domain, name##_expr_type);                      \
0030     BOOST_AUTO(name, boost::proto::deep_copy(expr));                            \
0031     /****/
0032 
0033 #endif
0034 
0035 #endif