From da356ce63f265aace0ed6ff8b11f2319e286619c Mon Sep 17 00:00:00 2001 From: Thomas Heller Date: Mon, 24 Jan 2011 19:10:45 +0000 Subject: [PATCH] fixed nothing [SVN r68422] --- include/boost/phoenix/core/nothing.hpp | 42 ++++---------------------- 1 file changed, 6 insertions(+), 36 deletions(-) diff --git a/include/boost/phoenix/core/nothing.hpp b/include/boost/phoenix/core/nothing.hpp index f44c63b..4eb570d 100644 --- a/include/boost/phoenix/core/nothing.hpp +++ b/include/boost/phoenix/core/nothing.hpp @@ -22,41 +22,6 @@ namespace boost { namespace phoenix ///////////////////////////////////////////////////////////////////////////// PHOENIX_DEFINE_EXPRESSION(null, (proto::terminal::type)) - namespace tag - { - struct nothing {}; - } - - namespace expression - { - struct nothing - : expr > - { - typedef actor< - typename proto::result_of::make_expr< - tag::nothing - , default_domain_with_basic_expr - , mpl::void_ - >::type - > - type; - - typedef - typename proto::unnary_expr::proto_grammar - proto_grammar; - - static type const make() - { - type const e = {{}}; - return e; - } - }; - } - - namespace rule - { - struct null : expression::null {}; - } struct null_eval { @@ -73,7 +38,12 @@ namespace boost { namespace phoenix : proto::call {}; - expression::null::type const nothing = {}; + template + struct is_nullary::when + : proto::make + {}; + + expression::null::type const nothing = {}; }} #endif