Subject: Re: [Boost-bugs] [Boost C++ Libraries] #7730: Generic specializations of is_nullary for custom terminals are not possible
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2014-02-22 13:13:35
#7730: Generic specializations of is_nullary for custom terminals are not possible
-------------------------------+---------------------
Reporter: andysem | Owner: theller
Type: Bugs | Status: new
Milestone: To Be Determined | Component: phoenix
Version: Boost 1.52.0 | Severity: Problem
Resolution: | Keywords:
-------------------------------+---------------------
Comment (by andysem):
Replying to [comment:18 John Fletcher <J.P.Fletcher@â¦>]:
> What is needed (I think) is to provide a default value for the second
template parameter. At the moment the default is void, so could we catch
that? Seems risky to me. John
Not sure what you mean, but I don't think the actual type matters. That
parameter just allows to use SFINAE to eliminate specializations instead
of the standard template specialization mechanism. Void is just something
neutral and convenient enough.
You could probably create some other mechanism to detect the default
custom_terminal specialization. But that would still require some kind of
type introspection, I think, and would arguably be slower in compile time.
What I was suggesting is not change the approach with the
_is_default_custom_terminal typedef, but just make it unconditional. You
fixed Boost.Spirit already and as you said the problem is unlikely to
appear outside Boost. So just document the needed change for those few who
encounters the problem.
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/7730#comment:19> Boost C++ Libraries <http://www.boost.org/> Boost provides free peer-reviewed portable C++ source libraries.
This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:15 UTC