51 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			51 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
/*==============================================================================
 | 
						|
    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
 |