Subject: Re: [Boost-bugs] [Boost C++ Libraries] #8606: Impossible to convert 0-size tuple to (empty) sequence any more
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2015-05-17 14:04:13
#8606: Impossible to convert 0-size tuple to (empty) sequence any more
-------------------------------+---------------------------
Reporter: vz-boost@⦠| Owner: no-maintainer
Type: Bugs | Status: closed
Milestone: To Be Determined | Component: preprocessor
Version: Boost 1.53.0 | Severity: Regression
Resolution: fixed | Keywords:
-------------------------------+---------------------------
Comment (by eldiener):
It is not useful to have a tuple of 0 size and not be able to distinguish
between '()' as a tuple of size 0 or a tuple of size 1 with the single
element as empty. Since emptiness is perfectly allowable in the
preprocessor, and since '(x,)' is clearly a tuple whose size is 2 with the
second element being empty, it would always be wrong to make a special
case for '()' and declare that this is tuple of size 0. Furthermore
treating '()' as a apecial case would make it impossible to have a tuple
of size 1 whose single element is empty.
The VC++ preprocessor is a C++ non-standard conforming preprocessor and it
is only with heroic effort that Paul Mensonides was able to get VC++ to
handle Boost PP processing as much as it does ( there are numerous
workarounds in Boost PP code just to handle VC++ ). The gcc preprocessor
is vastly closer to the C++ standard.
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/8606#comment:5> 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:18 UTC