1 /*============================================================================= 2 Copyright (c) 2001-2012 Joel de Guzman 3 4 Distributed under the Boost Software License, Version 1.0. (See accompanying 5 file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 6 ==============================================================================*/ 7 #if !defined(BOOST_SPIRIT_COPY_FEBRUARY_7_2012_0159PM) 8 #define BOOST_SPIRIT_COPY_FEBRUARY_7_2012_0159PM 9 10 #include <boost/config.hpp> 11 12 #if defined(_MSC_VER) 13 #pragma once 14 #endif 15 16 #if !defined(BOOST_NO_CXX11_AUTO_DECLARATIONS) 17 #include <boost/proto/deep_copy.hpp> 18 19 namespace boost { namespace spirit { namespace qi 20 { 21 template <typename Expr> 22 typename boost::proto::result_of::deep_copy<Expr>::type copy(Expr const & expr)23 copy(Expr const& expr) 24 { 25 BOOST_SPIRIT_ASSERT_MATCH(boost::spirit::qi::domain, Expr); 26 return boost::proto::deep_copy(expr); 27 } 28 }}} 29 30 #endif 31 #endif 32