Mercurial > hg > vamp-build-and-test
diff 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 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/DEPENDENCIES/generic/include/boost/phoenix/object/delete.hpp Tue Aug 05 11:11:38 2014 +0100 @@ -0,0 +1,50 @@ +/*============================================================================== + Copyright (c) 2001-2010 Joel de Guzman + Copyright (c) 2010 Thomas Heller + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#ifndef BOOST_PHOENIX_OBJECT_DELETE_HPP +#define BOOST_PHOENIX_OBJECT_DELETE_HPP + +#include <boost/phoenix/core/limits.hpp> +#include <boost/phoenix/core/expression.hpp> +#include <boost/phoenix/core/meta_grammar.hpp> +#include <boost/phoenix/core/call.hpp> + +BOOST_PHOENIX_DEFINE_EXPRESSION( + (boost)(phoenix)(delete_) + , (meta_grammar) +) + +namespace boost { namespace phoenix +{ + struct delete_eval + { + typedef void result_type; + + template <typename P, typename Context> + result_type + operator()(P const& p, Context const &ctx) const + { + delete boost::phoenix::eval(p, ctx); + } + }; + + template <typename Dummy> + struct default_actions::when<rule::delete_, Dummy> + : call<delete_eval> + {}; + + template <typename P> + inline + typename expression::delete_<P>::type const + delete_(P const& p) + { + return expression::delete_<P>::make(p); + } + +}} + +#endif