Mercurial > hg > vamp-build-and-test
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 |