comparison DEPENDENCIES/generic/include/boost/spirit/home/support/lazy.hpp @ 16:2665513ce2d3

Add boost headers
author Chris Cannam
date Tue, 05 Aug 2014 11:11:38 +0100
parents
children
comparison
equal deleted inserted replaced
15:663ca0da4350 16:2665513ce2d3
1 /*=============================================================================
2 Copyright (c) 2001-2011 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_LAZY_NOVEMBER_04_2008_1157AM)
8 #define BOOST_SPIRIT_LAZY_NOVEMBER_04_2008_1157AM
9
10 #if defined(_MSC_VER)
11 #pragma once
12 #endif
13
14 #include <boost/spirit/include/phoenix_core.hpp>
15 #include <boost/proto/proto.hpp>
16 #include <boost/spirit/home/support/modify.hpp>
17 #include <boost/spirit/home/support/detail/is_spirit_tag.hpp>
18
19 namespace boost { namespace spirit
20 {
21 template <typename Eval>
22 typename proto::terminal<phoenix::actor<Eval> >::type
23 lazy(phoenix::actor<Eval> const& f)
24 {
25 return proto::terminal<phoenix::actor<Eval> >::type::make(f);
26 }
27
28 namespace tag
29 {
30 struct lazy_eval
31 {
32 BOOST_SPIRIT_IS_TAG()
33 };
34 }
35
36 template <typename Domain>
37 struct is_modifier_directive<Domain, tag::lazy_eval>
38 : mpl::true_ {};
39 }}
40
41 #endif