/Src/Dependencies/Boost/boost/spirit/home/phoenix/object/delete.hpp

http://hadesmem.googlecode.com/ · C++ Header · 41 lines · 30 code · 5 blank · 6 comment · 0 complexity · 001b68b6b24f4d8a1feef927904df265 MD5 · raw file

  1. /*=============================================================================
  2. Copyright (c) 2001-2007 Joel de Guzman
  3. Distributed under the Boost Software License, Version 1.0. (See accompanying
  4. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
  5. ==============================================================================*/
  6. #ifndef PHOENIX_OBJECT_DELETE_HPP
  7. #define PHOENIX_OBJECT_DELETE_HPP
  8. #include <boost/spirit/home/phoenix/core/compose.hpp>
  9. namespace boost { namespace phoenix
  10. {
  11. namespace impl
  12. {
  13. struct delete_eval
  14. {
  15. template <typename Env, typename P>
  16. struct result
  17. {
  18. typedef void type;
  19. };
  20. template <typename Args, typename Env, typename P>
  21. static void
  22. eval(Env const& env, P& p)
  23. {
  24. delete p.eval(env);
  25. }
  26. };
  27. }
  28. template <typename P>
  29. inline actor<typename as_composite<impl::delete_eval, P>::type>
  30. delete_(P const& p)
  31. {
  32. return compose<impl::delete_eval>(p);
  33. }
  34. }}
  35. #endif