Mercurial > hg > vamp-build-and-test
comparison DEPENDENCIES/generic/include/boost/phoenix/object/delete.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-2010 Joel de Guzman | |
3 Copyright (c) 2010 Thomas Heller | |
4 | |
5 Distributed under the Boost Software License, Version 1.0. (See accompanying | |
6 file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) | |
7 ==============================================================================*/ | |
8 #ifndef BOOST_PHOENIX_OBJECT_DELETE_HPP | |
9 #define BOOST_PHOENIX_OBJECT_DELETE_HPP | |
10 | |
11 #include <boost/phoenix/core/limits.hpp> | |
12 #include <boost/phoenix/core/expression.hpp> | |
13 #include <boost/phoenix/core/meta_grammar.hpp> | |
14 #include <boost/phoenix/core/call.hpp> | |
15 | |
16 BOOST_PHOENIX_DEFINE_EXPRESSION( | |
17 (boost)(phoenix)(delete_) | |
18 , (meta_grammar) | |
19 ) | |
20 | |
21 namespace boost { namespace phoenix | |
22 { | |
23 struct delete_eval | |
24 { | |
25 typedef void result_type; | |
26 | |
27 template <typename P, typename Context> | |
28 result_type | |
29 operator()(P const& p, Context const &ctx) const | |
30 { | |
31 delete boost::phoenix::eval(p, ctx); | |
32 } | |
33 }; | |
34 | |
35 template <typename Dummy> | |
36 struct default_actions::when<rule::delete_, Dummy> | |
37 : call<delete_eval> | |
38 {}; | |
39 | |
40 template <typename P> | |
41 inline | |
42 typename expression::delete_<P>::type const | |
43 delete_(P const& p) | |
44 { | |
45 return expression::delete_<P>::make(p); | |
46 } | |
47 | |
48 }} | |
49 | |
50 #endif |